在bugku平台做web-ctf的时候,发现一道有意思的题出来分享一下思路。
页面如下
先注册一手看看是否存在xss sql注入之类的
都尝试了,最后发现在修改头像处可以尝试文件上传
因为这里提示只能上传jpg等,php上传不了,发动小脑筋将他绕过
这个图片我们根据开头,判断他是经过base64编码的,解码后为data:image/jpeg;base64,
这里上传类型为jpeg,我们修改为php,并将一句话木马base64编码后拼接到后面可以达到绕过效果
我们通过burp发送到repeater模块,通过回显可以得到它的图片存放路径
然后连接蚁剑和菜刀就可以了
以上都是文件上传的正常操作,但是这个靶场蚁剑和菜刀都不管用,所以我决定手注
我这里用的是system函数
不要忘了加分号结尾哟
php?8=system(‘ls’);
php?8=system(‘pwd’)
当时到这里被卡住了,想要通过find / -name flag*查看flag结果页面一直没反应
突发奇想能不能在括号里加个分号,类似于堆叠注入(后来发现可能是我敲错了,不过也算发散思维了哈哈哈哈)
cd /;ls 跳转到根目录,同时列出根目录下的内容(没啥用)
php?8=system(‘cd /;find / -name flag*’);查看到了flag的位置
最后拿下flag
php?8=system(‘cat /var/www/html/flag*’);
用户名 | 金币 | 积分 | 时间 | 理由 |
---|---|---|---|---|
Track-聂风 | 35.00 | 0 | 2021-05-08 16:04:58 | 加油同学 |
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.