毫无疑问,在渗透测试里,当前用的最多的,是Web渗透。但如何让大模型能操作浏览器,是个比较麻烦的事,Brower-use解决了这个问题。
关于Browser-use
Browser-Use是一个开源的网页自动化库,它通过提供一个简单的接口,让LLM能够与网站进行互动。 这个库支持多标签管理、 XPath 提取和视觉 模型 处理,使得自动化网页操作变得更加简单和高效。
通用LLM支持:Browser-Use可以与任何语言模型配合使用,本地模型,MaaS均可支持。 交互元素检测:自动检测网页上的交互元素,无需手动检查。
开源地址在https://github.com/browser-use/browser-use
与Deepseek结合使用
Browser-use提供了agent,与Deepseek的结合使用很简单。本文示例
async def run_search():
agent = Agent(
task=(
'1. 连接http://192.168.3.93/dvwa/index.php '
'2. 这是一个DVWA的靶机,使用默认密码登录'
'3. 登录后选择Sql Injecttion,给出解法并实现,所有描述请使用中文'
),
llm=ChatOpenAI(
base_url='https://api.deepseek.com/v1',
model='deepseek-chat',
api_key=SecretStr(api_key),
),
use_vision=False,
)
await agent.run()
if __name__ == '__main__':
asyncio.run(run_search())
提供三段指令
'1. 连接http://192.168.3.93/dvwa/index.php '
'2. 这是一个DVWA的靶机,使用默认密码登录'
'3. 登录后选择Sql Injecttion,给出解法并实现,所有描述请使用中文'
Deepseek能够自己登录靶机,然后Sql注入的页面,解出答案,并测试实现。以下是Deepseek给出的解释:
解法:
1. 在用户ID输入框中输入 '1' OR '1'='1'。
2. 点击提交按钮。
这个查询利用了SQL的逻辑运算符OR,使得查询条件始终为真,从而绕过了正常的登录验证。
实现步骤:
1. 打开DVWA登录页面并登录。
2. 选择SQL Injection漏洞。
3. 在用户ID输入框中输入 '1' OR '1'='1'。
4. 点击提交按钮。
通过这种方式,攻击者可以绕过登录验证并访问数据库中的敏感信息。为了防止SQL注入攻击,开发人员应使用参数化查询和输入验证。
过程录屏,未加速,全程不再需要人为干预。
总结
Browser-use+Deepseek,可以正确理解网页内容,并结合人的指令,操作网站。同时Deepseek对渗透的目标方法也理解到位,二者结合,可以实现对靶机的自动操作。
完整代码在Github上。
https://github.com/SunZhimin2021/AIPentest/blob/main/Tools/browseruseforweb.py
END
原文始发于微信公众号(AI与安全):用Deepseek实现Web渗透自动化
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论