[西湖论剑2020]HardXSS
西湖论剑加bytectf连遇到两个前端题,终于该好好学习一下前端安全了
jsonp
jsonp是为了跨域获取数据而产生的一种临时方案,现在通常使用更牛逼的CORS,jsonp的简单实现就是在HTML页面上定义一些函数,不妨就叫它callBackFunc,然后用script的src=xxx.com/callback=callBackFunc 导入,服务端那边就整一个类似于如下代码的方式返回回去,这样子返回回去就是函数的形式可以直接执行
<?php
header('Content-type: application/json');
//获取回调函数名
$jsoncallback = htmlspecialchars($_REQUEST ['jsoncallback']);
//json数据
//进行一些处理获得json格式的data
$json_data = $data;
//输出jsonp格式的数据
echo $jsoncallback . "(" . $json_data . ")";
?>