基于AST的 *** ONP劫持自动化挖掘(带工具)

访客4年前黑客工具1113

0x01 *** ONP劫持简介

*** ONP利用 script标签的跨域能力实现跨域数据的访问。请求动态生成的 *** 脚本同时带一个callback函数名作为参数。服务端收到请求后,动态生成脚本产生数据,并在代码中以产生的数据为参数调用callback函数。

*** ONP劫持,就是在受害不知情的情况下,访问了攻击者的网站,攻击者通过 *** ONP接口获取用户在其它网站的敏感信息。

因此通常用做:

  • 敏感信息泄露引发的精准诈骗。

  • 防守方的溯源能力之一,如在蜜罐中获取攻击者画像。

0x02 AST简介

AST (Abstract Syntax Tree,抽象语法树) 是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构。因此相同含义的代码,即使在不同形式的实现方式下,在AST层面是统一的。

在 AST 层面的统一和一致,是传统的正则匹配所做不到的。使我们可以很轻易的解决下面几种情况:

0x03 *** ONP漏洞挖掘

Koalr师傅的分享非常好 https://koalr.me/post/a-tour-of-xray/。

手工挖掘 *** ONP漏洞时,主要分为以下几步:

  1. 找jsonp接口

  2. 检查响应是否包含敏感信息

  3. 绕referer

在做自动化挖掘时,我们应该主要考虑以下几个问题:

  1. 优秀的爬虫(使用crawlergo)

  2. 筛出js资源:通过content-type即可判断。参考chrome。https://github.com/chromium/chromium/blob/fc262dcd403c74cf3e22896f32d9723ba463f0b6/third_party/blink/common/mime_util/mime_util.cc#L42

    const char* const kSupportedJavascriptTypes[]={
        "application/ecmascript",
        "application/javascript",
        "application/x-ecmascript",
        "application/x-javascript",
        "text/ecmascript",
        "text/javascript",
        "text/javascript1.0",
        "text/javascript1.1",
        "text/javascript1.2",
        "text/javascript1.3",
        "text/javascript1.4",
        "text/javascript1.5",
        "text/jscript",
        "text/livescript",
        "text/x-ecmascript",
        "text/x-javascript",
    };
  3. 解析js类型资源,检查query中的每个key,是否满足jsonp的特征。正则大法好:
    (?m)(?i)(callback)|(jsonp)|(^cb$)|(function)
  4. referer配置为同域,请求js获取响应。

  5. 将 *** ONP响应解析成AST,如果生成的AST满足以下条件即可认定存在 *** ONP漏洞。

    一、Callee.Name==callback函数名

    二、检查是否存在敏感信息:递归遍历AST 获取所key和value,是否满足满足正则(?m)(?i)(uid)|(userid)|(user_id)|(nin)|(name)|(username)|(nick),且value不为空

  6. 替换Referer后再请求一次,重新验证步骤5。

0x04 工具使用方式

通过golang实现了以上逻辑:https://github.com/jweny/check_jsonp_based_on_ast

本组件未单独提供爬虫,须结合爬虫使用(推荐crawlergo),将爬虫的js资源直接用工具检测即可。

项目中提供了一个jsonp的漏洞环境,如需自取。

入参:js uri

返回:是否存在漏洞(bool型,true为存在漏洞),err

例:

result, err :=CheckSenseJsonp("http://127.0.0.1/jsonp_env/getUser.php?id=1&jsoncallback=callbackFunction")

0x05 参考链接

https://www.codercto.com/a/65644.html

https://koalr.me/post/a-tour-of-xray/

相关文章

黑客零基础入门教程手机(黑客零基础入门)-黑客能控制股市吗

黑客零基础入门教程手机(黑客零基础入门)-黑客能控制股市吗

黑客零基础入门教程手机(黑客零基础入门)(tiechemo.com)一直致力于黑客(HACK)技术、黑客QQ群、信息安全、web安全、渗透运维、黑客工具、找黑客、黑客联系方式、24小时在线网络黑客、黑...

网络最菜黑客指南下载(最简单的黑客)

网络最菜黑客指南下载(最简单的黑客)

本文导读目录: 1、谁知道世界最强的[‘黑客’防火墙]和[防毒墙]是什么?下载地址是什么? 2、黑客零起点网络手册 3、网络安全中常见的黑客攻击方式? 4、《黑客成长史》最新txt全集下载...

怎么才能和他人同时接收信息不被发现

除了关注宝宝身体健康之外,男女宝的私处护理也很重要,阴道炎,私处感染,红屁屁等问题,都需要妥善的处理,保护宝宝私处的健康和清洁,下面带来男女宝私处疾病问题汇总,希望对大家有所帮助。 男女宝私处疾病问...

看门狗2开启黑客视角(看门狗2黑客模式)

看门狗2开启黑客视角(看门狗2黑客模式)

本文导读目录: 1、看门狗2黑客入侵怎么玩 黑客入侵玩法攻略 2、看门狗2驾驶视角怎么切换 驾驶视角切换方法一览 3、看门狗2完成黑客挑战任务怎么做 4、看门狗2入侵模式怎么玩 入侵模式玩...

电商培训班一般多少钱,电商一个月培训管用吗

电商培训班一般多少钱,电商一个月培训管用吗

一?电子商务机构简介 伴随着互连网的迅速发展趋势,很多人全是学起了电子商务,殊不知,很多人全是不明白电子商务的,当然就必须开展电子商务培训。如今目前市面上的电子商务培训组织也是有很多,很多人都不清楚如...

谷歌积极参与投资 用算法甄选投资对象

【TechWeb报导】7月21日信息,据海外新闻媒体,Google觉得自身能够再度年青、再度瘋狂,该企业积极主动找寻下一个Facebook或Zynga,在项目投资受欢迎初创公司上下注两亿美金,另外...