DVWA靶场SQL注入POC

学习编写poc,先从最简单的DVWA靶场的sql注入练习

Low

POC:

"""

Level——low:

"""

import requests

import browser_cookie3

cookie = browser_cookie3.firefox()

response = requests.get("http://192.168.21.211/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")

运行结果

这段代码使用了requests库和browser_cookie3库来进行HTTP请求,并判断给定的URL是否存在SQL注入漏洞。

首先,代码导入了requests和browser_cookie3库。

接下来,通过`cookie = browser_cookie3.firefox()`使用browser_cookie3库获取firefox浏览器中的所有Cookie信息。这里使用的是firefox浏览器的方法,所以在其他浏览器中可能无法获取到Cookie信息。可以换其他浏览器方法,比如cookie = browser_cookie3.chrome()或者cookie = browser_cookie3.load()获取全部浏览器的信息,但是效果好像没有指定浏览器好

然后,使用`requests.get()`方法发送带有Cookie的GET请求。`"http://192.168.21.211/DVWA/vulnerabilities/sqli/?id=1'&Submit=Submit#"`是请求的URL,`cookies=cookie`将获取到的Cookie添加到请求中。

接下来,定义了一个变量re,并将其设为字符串"syntax"。

然后,使用`re in str(response.content)`来判断字符串"syntax"是否存在于响应内容中。将判断结果赋值给变量flag。

最后,根据flag的值来输出相应的结果。如果flag为True,则输出"It looks likely vulnerable",表示存在可能的漏洞;如果flag为False,则输出"It is strong",表示不存在漏洞。

请确保在运行代码之前已经安装了requests库和browser_cookie3库,并且将请求的URL替换为适合你的实际情况的URL。另外,要注意浏览器的兼容性,不同浏览器可能对cookie的存储方式不同。

Medium

POC:

##Level——Medium

import requests

import browser_cookie3

cookie = browser_cookie3.firefox()

#这里因为Content-Type:application/x-www-form-urlencoded,所以post构造为该模式(根据Payload内的值)

datas = {"id":"1'","Submit":"Submit"}

response = requests.post("http://192.168.21.211/DVWA/vulnerabilities/sqli/?id=1'&Submit=Submit#",cookies=cookie,data=datas)

re = 'syntax'

flag=re in str(response.content)

if flag:

   print("It looks likely vulnerable")

else:

     print("It is strong")

运行结果

这段代码与之前的代码类似,但使用POST请求发送数据来测试是否存在SQL注入漏洞。

首先,导入了requests和browser_cookie3库。

接下来,使用browser_cookie3.firefox()来获取firefox浏览器中的所有Cookie信息。

然后,定义了一个字典datas,其中包含了POST请求需要的数据。这里使用了{"id":"1'","Submit":"Submit"}作为数据。根据具体情况,你可能需要根据实际的Payload来构造合适的数据。

然后,使用requests.post()方法发送带有Cookie和数据的POST请求。"http://192.168.21.211/DVWA/vulnerabilities/sqli/?id=1'&Submit=Submit#"是请求的URL,cookies=cookie将获取到的Cookie添加到请求中,data=datas将数据添加到请求中。

接下来,定义了一个变量re,并将其设为字符串"syntax"。

然后,使用re in str(response.content)来判断字符串"syntax"是否存在于响应内容中。将判断结果赋值给变量flag。

最后,根据flag的值来输出相应的结果。如果flag为True,则输出"It looks likely vulnerable",表示存在可能的漏洞;如果flag为False,则输出"It is strong",表示不存在漏洞。

请确保在运行代码之前已经安装了requests库和browser_cookie3库,并且将请求的URL替换为适合你的实际情况的URL。另外,要注意根据实际情况构造合适的POST数据。

High

POC:

import requests

import browser_cookie3

cookie = browser_cookie3.firefox()

datas = {"id":"1'","Submit":"Submit"}

response1 = requests.post("http://192.168.21.211/DVWA/vulnerabilities/sqli/session-input.php",cookies=cookie,data=datas)

response2 = requests.get("http://192.168.21.211/DVWA/vulnerabilities/sqli/",cookies=cookie)#high中,查询和回显不在一个页面中,所以在这里分post查询和get获取页面

re = 'wrong'#这里换了特征语句

flag=re in str(response2.content)

if flag:

    print("It looks likely vulnerable")

else:

    print("It is strong")

运行结果

这段代码与之前的代码类似,也使用了requests和browser_cookie3库来进行HTTP请求,并判断给定的URL是否存在SQL注入漏洞。不过这里测试点与之前的测试点不同,需要发送两个请求来测试漏洞。

首先,通过`browser_cookie3.firefox()`使用browser_cookie3库获取Firefox浏览器中的所有Cookie信息。需要注意的是,由于不同浏览器中Cookie的存储方式可能不同,所以在这里需要根据实际情况来选择相应的方法。

然后,定义了一个字典`datas`,其中包含了POST请求需要的数据。这里使用了`{"id":"1'","Submit":"Submit"}`作为数据。

接下来,通过`requests.post()`方法发送带有Cookie和数据的POST请求。`"http://192.168.21.211/DVWA/vulnerabilities/sqli/session-input.php"`是请求的URL,`cookies=cookie`将获取到的Cookie添加到请求中,`data=datas`将数据添加到请求中。

然后,再通过`requests.get()`方法发送带有Cookie的GET请求。`"http://192.168.21.211/DVWA/vulnerabilities/sqli/"`是请求的URL,`cookies=cookie`将获取到的Cookie添加到请求中。

接下来,定义了一个变量re,并将其设为字符串"wrong"。

然后,使用`re in str(response2.content)`来判断字符串"wrong"是否存在于响应内容中。将判断结果赋值给变量flag。

最后,根据flag的值来输出相应的结果。如果flag为True,则输出"It looks likely vulnerable",表示存在可能的漏洞;如果flag为False,则输出"It is strong",表示不存在漏洞。

请确保在运行代码之前已经安装了requests库和browser_cookie3库,并且将请求的URL替换为适合你的实际情况的URL。另外,要注意浏览器的兼容性,不同浏览器可能对cookie的存储方式不同。

<think>好的,用户想了解BP技术在漏洞利用或安全测试中的方法。首先需要明确BP指的是什么。根据上下文中的引用,用户提到的BP可能是指Burp Suite,这是一款常用的网络安全测试工具。用户引用了使用Burp Suite(BP)利用CSRF漏洞的例子,比如在DVWA环境中修改密码[^5]。因此,推测BP在这里指的是Burp Suite。 接下来,需要整理Burp Suite在漏洞利用和安全测试中的常见方法。根据引用中的内容,用户提到了CSRF漏洞的利用,比如通过构造恶意请求修改密码[^4]。此外,引用中提到的绕过过滤技巧,如URL编码或使用特殊字符串避开应用程序的过滤机制[^3],这也是Burp Suite常用的测试方法之一。 然后,需要结合参考的引用资料,总结出几个关键步骤和方法。例如,Burp Suite可以拦截和修改HTTP请求,测试输入验证漏洞,如SQL注入、XSS等。同时,它还能用于自动化扫描漏洞,比如云环境中的错误配置[^1]。此外,用户提供的资源包可能包含使用Burp Suite的教程[^2],这也需要提及。 需要注意用户的问题可能涉及具体操作步骤,比如如何利用CSRF漏洞,或者如何配置Burp Suite进行扫描。因此,回答应包括实际的操作流程,并引用相关的示例,如DVWA和Pikachu靶场的使用[^4][^5]。 最后,生成相关问题时要围绕Burp Suite的功能、常见漏洞测试方法以及学习资源展开,确保问题与用户查询紧密相关,并引导进一步学习。</think>### BP技术中的漏洞利用与安全测试方法 BP(通常指Burp Suite)是一款广泛用于网络安全测试的集成化工具,主要用于Web应用漏洞扫描、渗透测试及请求分析。以下是其核心漏洞利用与测试方法: --- #### 1. **HTTP请求拦截与修改** - **原理**:Burp Proxy拦截浏览器与服务器间的HTTP请求/响应,支持实时修改参数。 - **示例**: ```http GET /user?id=1 HTTP/1.1 Host: example.com ``` 修改`id=1`为`id=1' OR 1=1--`,测试SQL注入漏洞[^3]。 - **典型漏洞**:SQL注入、命令注入、逻辑漏洞。 --- #### 2. **CSRF漏洞利用** - **步骤**: 1. 使用Burp生成CSRF PoC(概念验证代码)。 2. 构造恶意页面诱导用户点击,触发密码修改等操作[^5]。 - **案例**:DVWA靶场中,通过Burp生成CSRF链接,导致用户密码被篡改。 --- #### 3. **输入验证绕过** - **方法**: - **编码绕过**:对特殊字符进行URL编码(如`<`变为`%3C`)[^3]。 - **多参数混淆**:在多个参数中拆分攻击载荷(如`us%65r=admin&pas%73wd=123`)。 - **适用漏洞**:XSS、文件上传漏洞。 --- #### 4. **自动化漏洞扫描** - **功能**:Burp Scanner自动检测云环境错误配置(如AWS S3存储桶公开访问)和传统Web漏洞。 - **扫描范围**:包括IaaS/PaaS/SaaS的权限配置、API接口安全等。 --- #### 5. **会话管理与重放攻击** - **流程**: 1. 截获合法用户的会话Cookie。 2. 通过Repeater模块重放请求,测试权限提升漏洞。 - **典型场景**:横向越权访问其他用户数据。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值