[11期]绕过安全狗、云锁等各大WAF注入,上传深入自动化Bypass攻击

CDN       负载均衡、内容分发 

解析漏洞一般在服务层      二进制,溢出,提权在系统层         渗透测试就是以上全部层

 

协议未正确解析

GET改POST   这叫参数污染  

cookie    改一个较大的值     有的waf承受不了这么大的值,参数污染

HTTP参数污染  HPP参数污染     使用多个无用值或者重复值提交到数据包中达到攻击

提交两个filename值,这要看具体什么服务器,两个一样的参数是哪一个参数生效

 waf有正则匹配拦截,我们要找到拦截点在哪里。绕过waf就是在绕过写好的正则。

单双引号,不加引号,后缀,各种尝试绕过

正则的核心在匹配filename后面的值,思路是让它找不到匹配点。

 

 直接绕过

SQL注入

 

union select 1,2,3    只要不报错可以继续往后加  union select 's','s','s'    字母也可以

 

表里没有3条数据,这时个时候查询 id=3;返回空值。所以要用union select联合查询查到报错来摸清数据库里面有多少条数据。

 如果前面id=-1这里的条件不符合,它就返回后面的union select数据了,利用这个唯一的返回结果就可以加自己的东西来回显了。

可以调用数据库的全局变量

查看数据库名

 

在数据库里面可以返回三条,但在页面中不会显示三条的。使用limit

 

limit 0,1   从0开始取一条,返回一条

 

查询这个表来看当前用户的权限是什么

 

 

 

 

只要字典强大就可以获得当前数据库的用户名

 

 

聚合函数,当前表里有多少记录就返回多少

统计列数

这个表是存在的,穷举表

 穷举字段

 

 布尔值盲注  age字段18的值,拿第一个字符,返回1,以下为嵌套函数。

 

 

 

 数字,字母穷举都可以,单引号被过滤就必须用到ASCII码了。

时间盲注

 这个函数直接就解析了

 

 过狗

and int = int就会拦截         and   字符 = 字母就不会拦截           字符串 = 函数 是不拦截的

 union 和 select 在一起的时候才会拦截 用大小写,URL编码等尝试

 注释绕过

 

写个脚本测试payload,waf的正则匹配的东西太多了,用脚本跑到没有被拦截到的点

id=2 UNION/**/SELECT 1,2,3        把空格用SQL注释符号替换的思路,厂家也清楚,/**/里面加东西,或者用SQL不会执行的特性来绕过他们编写的正则匹配规则,将是重要的测试点。

学语言写脚本,这里就需要用上了。      大致叫做 Fuzz 模糊测试 绕过waf        PKAV团队应该有一个这个软件

这里推荐一篇脚本的参考资料:https://blog.csdn.net/JBlock/article/details/88617906

原文地址:https://www.cnblogs.com/sec875/p/10807156.html