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

访客3年前黑客工具1086

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/

相关文章

胡大师鸭爪爪火锅是什么公司旗下的?加盟电话多少?

胡大师鸭爪爪火锅是什么公司旗下的?加盟电话多少?

此刻的时代就是一个快速成长的时代,而由于时代成长的过于快速,各人打工挣钱的速度早就已经追赶不上了更新换代的速度所以各人就只能去选择更多的挣钱的途径来追赶着更新换代的速度,只有追遇上了这更新换代的速度,...

新黑客qq破解器不用分享群的(网络黑客qq群)

新黑客qq破解器不用分享群的(网络黑客qq群)

  我们是深圳网络建站公司-主营业务:企业网站设计-手机网站制作-微官网设计-公司网站建设-展示型网站-营销型网站-网络推广-网络营销策划,专注企业官网设计制作及企业网络推广,一条龙全包式服务,省心!...

学黑客盗号教程(如何反盗号黑客)

学黑客盗号教程(如何反盗号黑客)

本文目录一览: 1、黑客是如何进行盗号的? 2、黑客是怎么盗号的? 3、黑客是怎么侵入别人的电脑的? 4、黑客是怎样盗号的 黑客是如何进行盗号的? 利用木马,和一些盗号软件,通过互联网进...

农村种什么赚钱(盘点2019最赚钱的农作物项目)

农村种什么赚钱(盘点2019最赚钱的农作物项目)

我们国家历来对“三农”问题都十分重视,出台了一系列关于促进农业发展的惠民政策,来推进我国社会主义新农村建设。在我国大多数农村地区都是以发展种植业为主,国家对农村种植业也给予了相关的财政补贴,来支持种植...

欧莱雅紫熨斗眼霜适合多大年龄

欧莱雅紫熨斗眼霜想要专门针对淡化细纹的人群,消除眼袋,淡化黑眼圈。每天早晚用于护肤的最后一步,取黄豆大小,点涂眼周,轻轻按摩至吸收,坚持使用4周就可见效的哦。...

授人予渔:你务必了解的 SYSTEM 令牌窃取防御技术细节

授人予渔:你务必了解的 SYSTEM 令牌窃取防御技术细节

这篇博闻将叙述访问令牌实际操作的定义,及其怎样对于winlogon应用这类技术。从管理人员前后文模拟系统访问令牌。该技术能够在 MITRE ATT&CK 技术架构中的 访问令牌实际操作 中寻找...