2025 ccb x ciscn - web
Safe_Proxy
题目源码
1 |
|
ssti,以post的方式提交code参数,没有回显
题目提示:用什么方式能看到输出呢?
file打开当前脚本文件本身,然后使用 f.read() 读取整个文件内容
猜测file为app.py,ssti盲打将flag写入到app.py文件中
exp
1 | # payload1 = "{{url_for['__globals__']['__builtins__']['eval']('eval(bytes.fromhex("open('app.py','w').write(__import__('os').popen('cat /flag').read())")')}}" |
再bypass一下
刷新,得到app.py文件的内容为flag
hello_web
F12查看源代码发现../hackme.php和../tips.php,直接访问或者是打任意文件读取都失败了,存在waf。双写绕过
1 | ....//hackme.php |
tips的内容为phpinfo
hackme.php的内容为混淆后的一句话木马
在线解码网站:http://www.zhaoyuanma.com/phpjm.html
解得:
密码为cmd_66.99
antsword连接,失败。回显为返回数据为0
猜测是编码器出错,改为base64编码,失败。猜测是URL地址写错了,直接访问http://url/....//hackme.php
,失败。猜测是编码设置出问题了,修改,失败。猜测是连接密码出问题了,反混淆解码出错?解码出来的密码为 cmd_66.99
,最有可能出错的点在_
和.
。爆破,将特殊字符全试一遍。最后得出密码为cmd[66.99
连接成功
找flag,flag不在根目录下。使用find命令查找flag,失败。输入任何命令,回显为:ret=127
bypass disable_functions姿势总结 - 先知社区
用antsword 插件绕过disable_functions来打,用PHP7_UserFilter这种方式
最后使用find命令找flag文件,找到/run/log/d8cebcd8d4c371fe76532494462aded0/flag
目录,读取即可
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 symv1a's blog!