LCTF 2018 bestphp‘s revenge
考点:Soap原生类+Session反序列化+CRLF注入
dirsearch扫描目录后发现存在 flag.php
only localhost can get flag!session_start(); echo 'only localhost can get flag!'; $flag = 'LCTF{*************************}'; if($_SERVER["REMOTE_ADDR"]==="127.0.0.1"){ $_SESSION['flag'] = $flag; } only localhost can get flag!
$_SERVER["REMOTE_ADDR"] 不可能被伪造 考虑SSRF
通过本地访问后 flag存在session中 将session和cookie用CRLF拆分响应
可以结合首页 回显flag具体的值
var_dump($_SESSION);
开启了session 考虑打Soapclient::_call打ssrf 就需要结合session反序列化
session反序列化本质是不同session解析器的不同差异 造成的"隐形"反序列化
PHP 7 中 session_start () 函数可以接收一个数组作为参数,可以覆盖 php.ini 中 session 的配置项 修改 serialize_handler的处理器
尝试临时修改 session_start()的处理器为 php_serialize
在key|value 只有值value(poc)被序列化
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。