ctfshow-萌新-web13( 利用代码执行漏洞获取网站敏感文件)

ctf.show 萌新模块 web13关, 这一关的考点是代码执行漏洞, 需要灵活的运用各种命令执行函数, 源码中过滤了system, exec, highlight函数, cat命令, congfig, php, 点和分号等4%ae" target="_blank">关键字,php教程 推荐使用反引号`` 进行绕过

页面中展示了部分源码, 并提示 flag 就在 cophp中文网nfig.php 文件

ctfshow-萌新-web13( 利用代码执行漏洞获取网站敏感文件)

源码中过滤了参数中的 system exec highlight cat . ; file php config 等关键字, 这里可以使用 passthru()函数 配合反引号`` 来执行系统命令, 针对分号;的过滤, 我们可以使用 ?> 代替 分号, 首先查看当前目录下的文件

?c=passthru('ls')?>

由结果可以确认 config.php 文件的位置, 就在当前目录下

ctfshow-萌新-web13( 利用代码执行漏洞获取网站敏感文件)

接下来读取config.php文件的内容, payload如下

反引号``会将php文件用什么软件打开其中的内容当做系统命令来执行, 并返回一个字符串类型的变量用来保存执行结果, 下面的payload会先执行 `ls | grep con*`, 在将结果作为文件名供 more命令查询, 也就是 more confphp中文网ig.php

?c=passthru(4;more `ls | grep con*`4;)?>

页面啥也没有???

ctfshow-萌新-web13( 利用代码执行漏洞获取网站敏感文件)

右键查看网页源码, flag 就在源码中