JSONP 漏洞
Last updated on September 2, 2025 pm
Jsonp 原理
jsonp 可以让网页从别的域获取内容,即跨域读取数据
攻击者模拟用户向有漏洞的服务器发送 jsonp 请求,然后获取到了用户的某些信息,再将这些信息发送到攻击者可控的服务。
jsonp 最基本的原理就是,动态添加一个 <script> 标签,而script标签的 src属性是没有跨域限制的
由于同源策略的限制,xmlHttpRequest 只允许请求当前 相同协议、域名、端口 的资源,如果要进行跨域请求,我们可以通过使用 script 标签来进行跨域请求,并在相应追踪返回要执行的 script 代码,可以直接使用json传递javascript对象
JSONP 攻击方法
和csrf类似,都需要用户登录账号,身份认证还没有被消除的情况下访问攻击者设计好的页面,就会获取json数据,将json数据发送给攻击者,寻找敏感json数据api接口,构造恶意代码,发送给用户,用户访问有恶意的页面,数据就会被劫持发送到远程服务器。
JSONP 简单实现
-
1
2
3
4
5
6<script>
function callBack(json){
alert(JSON.stringify(json));
}
</script>
<script src="http://localhost:8888/?callback=callBack"></script> -
1
2
3
4
5
6
7
8
9
10<?php
header("Content-Type: application/javascript");
$param = $_GET['callback'];
$info = "{'name': 'Lixiney', 'age': 18}";
$info = json_encode($info);
echo "$param($info)";
?>
JSONP 漏洞
https://blog.lixey.top/posts/39c6ae33/