CTFHub技能树web之RCE(二)

第五题:远程包含

CTFHub技能树web之RCE(二)_第1张图片

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

CTFHub技能树web之RCE(二)_第2张图片

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

CTFHub技能树web之RCE(二)_第3张图片

成功得到flag

CTFHub技能树web之RCE(二)_第4张图片

第六题:命令注入

首先熟悉管道符

Windows:

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

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

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

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

Linux:

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

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

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

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

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

CTFHub技能树web之RCE(二)_第5张图片

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

先输入127.0.0.1

CTFHub技能树web之RCE(二)_第6张图片

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

CTFHub技能树web之RCE(二)_第7张图片

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

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

CTFHub技能树web之RCE(二)_第8张图片

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

CTFHub技能树web之RCE(二)_第9张图片

第七题:过滤cat

CTFHub技能树web之RCE(二)_第10张图片

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

CTFHub技能树web之RCE(二)_第11张图片

第八题:过滤空格

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

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

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

CTFHub技能树web之RCE(二)_第12张图片

第九题:过滤目录分隔符

CTFHub技能树web之RCE(二)_第13张图片

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

CTFHub技能树web之RCE(二)_第14张图片

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

CTFHub技能树web之RCE(二)_第15张图片

第十题:过滤运算符

CTFHub技能树web之RCE(二)_第16张图片

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

CTFHub技能树web之RCE(二)_第17张图片

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

CTFHub技能树web之RCE(二)_第18张图片

第十一题:综合过滤练习

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

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

CTFHub技能树web之RCE(二)_第19张图片

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

CTFHub技能树web之RCE(二)_第20张图片

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

CTFHub技能树web之RCE(二)_第21张图片

你可能感兴趣的:(网络安全)