===================================
0x01 工具介绍
xwaf是一个python写的waf自动绕过工具,上一个版本是bypass_waf,xwaf相比bypass_waf更智能,可无人干预,自动暴破waf。
0x02 安装与使用
1.python3 xwaf.py -u "http://www.baidu.com/1.php?id=1"
2.python3 xwaf.py -u "http://www.baidu.com/1.php" --data="postdata" -p xxx
3.python3 xwaf.py -r /tmp/headerfile -p xxx --risk 3 --level 5
2、以[127.0.0.1/1.php?id=1为例]演示
1.start
2.检测系统/root/.sqlmap/output/127.0.0.1/log文件是否存在
3.获取log文件:
如果不存在log文件则调用get_log_file_need_tamper函数,执行完这个函数后获得log文件,也即成功检测出目标
url有sqli注入漏洞,如果执行完get_log_file_need_tamper函数没有获得log文件则认为该url没有sqli漏洞
4.获取db_type[数据库类型]
调用get_db_type_need_tamper函数,用于后面的tamper排列组合时,只将目标url对应的数据库类型的tamper用于
该目标在sql注入时tamper的选择后的组合
5.获取sqli_type[注入方法]
调用get_good_sqli_type_need_tamper函数,sql注入方法中一共有U|S|E+B|Q|T 6种注入方法,后3种查询效率低,
首先在log文件中查找是否有U|S|E这3种高效方法中的任意一种,如果有略过这一步,否则执行
get_good_sqli_type_need_tamper函数,执行该函数将尝试获得一种以上的高效注入方法
6.获取current-db[当前数据库名]
如果上面获得了高效注入方法,则先用高效注入方法获得current-db,如果没有则用B|Q|T方法尝试获得
current-db,用来尝试获得current-db的函数是get_db_name_need_tamper
7.获取table[当前数据库的表名]
如果上面获得了高效注入方法,则先用高效注入方法获得table,如果没有则用B|Q|T方法尝试获得table,尝试获得
table的函数是get_table_name_need_tamper
8.获取column[当前数据库的第一个表的所有列名]
如果上面获得了高效注入方法,则先用高效注入方法获得column,如果没有则用B|Q|T方法获得column,尝试获得
column的函数是get_column_name_need_tamper
9.获取entries[column对应的真实数据]
调用get_entries_need_tamper函数,执行完get_entries_need_tamper函数后,waf成功绕过,从上面的步骤一直到
这个步骤,逐步获得最佳绕过waf的脚本组合
0x03 项目链接下载
2、关注公众号"web安全工具库",后台回复:20221106
· 推 荐 阅 读 ·
本书采用丰富的图例来阐述数据结构的基本概念,力求简洁明了地阐述复杂的算法理论,以Python作为描述语言解析算法的执行过程,以大量的范例程序来展示数据结构的使用及其相关算法的具体实现。数据结构是计算机专业的核心课程之一,也是编程爱好者程序设计的重要基础。