SRC之jsonp挖掘
推荐学习的一篇文章:其中有讲到jsonp 的一些fuzz的参数
https://mp.weixin.qq.com/s/WgenBKsogwLPuXnm6NrhdA
实战中遇到的jsonp
在我第一次学习到jsonp然后想去挖这种类型的洞的时候,从一开始弹一个无敏感信息的洞就很开心觉得自己挖到了然后一提交就。。。忽略
于是就开始想去挖掘什么才算敏感信息呢?于是开始决定找些手机号之类的吧。
这里再推荐一个burp插件吧。Markinfo
https://github.com/gh0stkey/BurpSuite-Extender-MarkInfo
python的去下载个jython然后把这个插件弄进去。
他能帮我们快速的捕捉到burp数据包中带有邮箱、身份证、手机号这些敏感信息并标上红色或者黄色。具体看介绍。下面贴几张图吧。
然后这里本地随便弄个文件演示一下
通过这个优点会让我们快速定位敏感信息,但是缺点可能会误报一些图片啥的,还有就是产生依赖性,其他一些可能存在问题的数据我们就懒得去看了。但是这个在用来挖jsonp还是算可以的吧。
于是就开始挖掘我的jsonp了。从一开始的忽略到拿到第一个只有手机号的jsonp竟然给了460 - -感觉好高。后来被我刷低了。。手机号就给200或者180最多了。
首先
Jsonp的返回包一般是这样的特征
有个回调的函数,然后就我简单粗暴的理解,jsonp其实就是可以获取数据的csrf罢了。需要交互,需要不对refer或者无token验证等。PS虽然有时有这些也可以进行绕过吧。这里就不介绍了。
用POC弹框了后,就可以截图提交报告了。
然后就开始疯狂的刷钱。。
信息越多越多钱,原本手机一开始给460后来就180了。。
Jsonp之fuzz参数
然后当刷完一批后,发现修了后挖不到了。没有那么多jsonp了咋办。。偶然想到别人什么都能fuzz,那jsonp的回调接口能不能呢?因为有时返回包并没有你想要的前面带个。回调参数,如一开始那张返回包中的_jp0啥的。而是一个json数据。但是又有敏感信息,肯定就想jsonp来赚钱了。但是没有咋办。可以参考我一开始推荐的那个文章中有介绍。他提供的参数有些我也fuzz到过。这里我分享个我遇到有趣的,当时怎么都fuzz不出啥东西来,遗憾的离开。后来从别的地方获取到我想要的信息。大致如下:
Jsonp回调的函数一般开发都用一开始介绍的那个,我这个发现的时候还没看到这个文章,是从另外个地方搞来的。
首先和往常一样看到返回包。是json数据,但是接口没有回调的。
图片太模糊了,没保存当时将就下。
按照常理,所谓的fuzz这个就是猜吧。就像猜后台一样,我们在开头一长串URL加上&callback=jsonp之类的呀,看看返回包会不会多出个来,会的话就有戏,前提最好先去判断下有没有csrf验证之类的,没有再去fuzz别fuzz出来了利用不了就浪费时间了。
上面那个callback自己更换成别的,或者平时遇到的。但当时我始终猜不出来,很可惜。。就先放过了。然后去看这个地方其他处。找着找着。突然,看到一个数据包请求接口有一个回调参数为 &jsoncallback=jsonp 。于是,想着同个模块开发肯定不可能每个回调都换个名词吧。于是就拿在这个去试一下。
果然!!!
出现了。钱就到手了。
数据还算敏感且可以jsonp了
感觉都要薅到不值钱了。。。好多类型的洞从一开始多钱,都被薅到不值钱。。只给180接下来可能要更低了。。