CTFHub技能树web之RCE(二)

第五题:远程包含

根据题目,使用远程包含进行

打开phpinfo,可以看到allow_url_fopen和allow_url_include都是On,因此可以使用php://input,由于代码会检查file中的内容,因此不能够使用php://filter包含文件,使用php://input通过hackbar使用POST方式发包,抓包并在最后一行加php代码执行

成功得到flag

第六题:命令注入

首先熟悉管道符

Windows:

1. “|”直接执行后面的语句。

2. “||”如果前面的语句执行失败,则执行后面的语句,前面的语句只能为假才行。

3. “&”两条命令都执行,如果前面的语句为假则直接执行后面的语句,前面的语句可真可假。

4. “&&”如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

Linux:

1. “;”执行完前面的语句再执行后面的语句。

2. “|”显示后面语句的执行结果。

3. “||”当前面的语句执行出错时,执行后面的语句。

4. “&”两条命令都执行,如果前面的语句为假则执行执行后面的语句,前面的语句可真可假。

5. “&&”如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

根据题目中的php代码可以看到通过get方法获得我们输入的ip并传入cmd变量中,通过exec将cmd中的字符串当做命令执行。

先输入127.0.0.1

能够正确执行,那么使用&管道符执行我们自己的语句

可以看到带出了一个php文件,查看该文件内容

使用hackbar,构造传入的get参数为?ip=127.0.0.1&cat 24475257734453.php,根据传入参数后url可以看出其中的&符号是经过了url编码的,因此对于传入的这个参数也需要进行编码,&和cat后的空格需要url编码将传递的参数转化为?ip=127.0.0.1%26cat%20199408059289.php,点击发送

网页中未出现文件内容,右键查看网页源代码,发现文件内容即flag

第七题:过滤cat

和上一道题目一样,还是先试用ls指令得到flag文件名,通过hackbar传参,将cat指令改为tac效果一样,构造参数为?ip=127.0.0.1%26tac%20flag_28093118082000.php,点击发送,右键查看网页源代码即可看到flag

第八题:过滤空格

在 bash 下, 空格可以用以下字符代替空格:

 <,<>,%20(space),%09(tab),$IFS$9, ${IFS},$IFS  等(摘抄)

因此本题中可以使用${IFS}代替cat后面的空格,构造参数为?ip=127.0.0.1%26cat${IFS}flag_301911467122181.php,点击发送右键查看源代码即可看到flag

第九题:过滤目录分隔符

通过ls命令发现只有一个又flag文件的目录,那么就先使用cd flag_is_here进入到该目录中,然后使用ls查看该目录下的文件,传入参数为?ip=127.0.0.1%26cd%20flag_is_here;ls

可以看到flag文件名,使用cat获取flag的内容,参数改为?ip=127.0.0.1%26cd%20flag_is_here;cat%20flag_14913376128096.php,点击发送,右键查看网页源代码即可看到flag内容

第十题:过滤运算符

过滤了 | 与 &,没有过滤;,那么可以用分号执行命令,构造参数为?ip=127.0.0.1%3Bls#查看该目录下的文件,查看到flag文件名

构造参数为?ip=127.0.0.1%3Bcat%20flag_750523229890.php,点击发送右键即可看到flag的内容

第十一题:综合过滤练习

根据题目过滤了前面几道题的内容,过滤了| & ; cat flag ctfhub和空格

拼接指令除了这几个管道符,还可以使用%0a(换行符)和%0d(回车符)进行拼接,首先使用%0a拼接ls查看该目录下的文件内容,构造语句为?ip=127.0.0.1%0als,看到flag文件的目录

绕过空格可以使用%09*,使用ls%09*可以查看该目录下的所有内容(包括子目录),构造参数为?ip=127.0.0.1%0als%09*,发送后可以看到flag文件的名字,通过

使用%0a拼接cd%09*_is_here进入flag文件所在的目录中,由于cat被过滤因此使用tac,再使用%0a拼接tac%09*输出flag文件内容,构造语句为?ip=127.0.0.1%0acd%09*_is_here%0atac%09*,点击发送,右键查看网页源代码即可看到flag

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值