1.打开场景,发现让你传个参数,那就传,?filename=1212121随便啥参数都行,然后php源码就直接给你了,很明显,是想让你绕过
2.过滤了一大堆系统命令执行函数,越过滤越说明这题是远程系统命令调用,passthru()函数并没有被过滤,
我本来想反引号绕过,后来发现,反引号绕过是exec绕过的简写,exec被禁用的话,``也就失效了
3.查看源码,是一个smarty模板,考虑模板注入,常见姿势
{}
{{}}
{if 函数}{/if}
命令很多,自行调用
4,关于cat被禁用 more tac less 查看系统文件的命令一大堆
5.拿到shell后就是要找flag
用通配符可以加快查找速度,直接匹配*表示在当前目录下,匹配文件内容里的字符串
more ./*|grep fla
//用这个来匹配当前路径下文件内容里有flag的,直接输出
然后一级一级的找,没啥好说的,在根目录下找到flag
参考视频链接:https://www.bilibili.com/video/BV1p64y147m3/
Bugku WEB 聪明的PHP
最新推荐文章于 2024-08-04 18:18:43 发布