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

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


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

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

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

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

?c=passthru('ls')?>

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


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


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


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

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

页面啥也没有???

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

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

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



上一篇:【C++ 语言】面向对象 ( 继承 | 重写 | 子类调用父类方法 | 静态多态 | 动态多态 | 虚函数 | 纯虚函数 )(一)


下一篇:类的静态构造函数的其他几个注意点