技术社区
安全培训
技术社群
积分商城
先知平台
漏洞库
历史记录
清空历史记录
相关的动态
相关的文章
相关的用户
相关的圈子
相关的话题
注册
登录
深度剖析JSONP注入漏洞:JavaScript回调函数引发的会话弹窗劫持
tangkaixing
发表于 江苏
渗透测试
2137浏览 · 2025-06-09 07:18
返回文档
声明
本文章所分享内容仅用于网络安全相关的技术讨论和学习,注意,切勿用于违法途径,所有渗透测试都需要获取授权,违者后果自行承担,与本文章及作者无关,请谨记守法。
1 概述
在Web应用安全领域,JSONP(JSON with Padding)因其跨域特性被广泛使用,但也常成为攻击入口。本文通过分析某企业登录系统的高危漏洞案例,揭示
未过滤的JSONP回调函数
如何导致完整会话Cookie泄露。该漏洞利用难度低但危害极大,通过篡改AJAX响应即可窃取用户会话,实现完全身份冒充。
2 正文
2.1 漏洞挖掘思路
在对某SP平台登录模块进行黑盒测试时,发现关键接口:
响应为标准的JSON结构:
但当深入审查前端代码时,发现致命隐患:
典型的高危函数滥用:使用eval()/Function()解析动态数据
此处使用eval()直接解析响应文本,为
回调函数注入
埋下伏笔。
2.2 JavaScript审计关键点
漏洞链核心问题
:
●
动态执行风险
:
eval()
函数无条件执行任意JS代码
●
缺失输出过滤
:服务端未校验
Content-Type
头(应为
application/json
)
●
回调函数暴露
:攻击者可劫持Object.assign等原生函数
2.3
漏洞攻击链分析
通过Burp Suite拦截响应并注入恶意JS:
触发流程:
1
eval()
执行注入代码,调用
Object.assign()
2
执行
alert()
泄露完整Cookie(包含JSESSIONID)
3
伪造的JSON结构绕过逻辑检查,验证码组件正常渲染
在用户无感知情况下弹出会话信息,实现“无交互劫持”(下图是我话的示意图):
3 总结
1. JavaScript常见高危函数
在渗透测试中,我们重点关注以下JavaScript函数,因为它们可能导致代码执行:
●
eval()
:直接执行字符串中的JS代码,是最高危的函数。
●
Function()构造函数
:通过
new Function('arg', 'alert(arg)')
方式创建函数,同样能执行动态代码。
●
setTimeout()/setInterval()
:如果第一个参数是字符串,则会执行。
●
document.write()/innerHTML
:可能导致XSS,但当插入点位于script标签内时,可以执行JS。
●
JSON.parse()
:虽然相对安全,但若解析后的对象没有正确处理,仍可能通过原型链污染或后续不安全操作导致漏洞。
2. 浏览器全局检索
全局搜索:
eval(、Function(、setTimeout(、innerHTML
3.
渗透测试中挖掘JS漏洞,需聚焦四个核心维度如下:
4 祝福
愿诸位安全从业者永葆对细节的敏锐洞察,在代码的海洋中精准捕获每一处暗流。愿你们的防御体系如星辰般稳固,让每一次漏洞挖掘都成为系统进化的契机。长风破浪会有时,直挂云帆济沧海——共筑网络安全长城;
当你在万千行代码中捕获到一个漏洞时,记住这不仅是技术胜利,更是对数字世界的守护。剑未佩妥出门已是江湖,愿你的渗透之刃始终斩向黑暗。
攻防之道,存乎一心;安全之路,永无止境!
🔥
1
人收藏
1
人喜欢
转载
分享
0
条评论
某人
表情
可输入
255
字
评论
发布投稿
热门文章
1
从零掌握java内存马大全(基于LearnJavaMemshellFromZero复现重组)
2
突破网络限制,Merlin Agent助你轻松搭建跳板网络!
3
从白帽角度浅谈SRC业务威胁情报挖掘与实战
4
基于规则的流量加解密工具-CloudX
5
从0到1大模型MCP自动化漏洞挖掘实践
近期热点
一周
月份
季度
1
从零掌握java内存马大全(基于LearnJavaMemshellFromZero复现重组)
2
突破网络限制,Merlin Agent助你轻松搭建跳板网络!
3
从白帽角度浅谈SRC业务威胁情报挖掘与实战
4
基于规则的流量加解密工具-CloudX
5
从0到1大模型MCP自动化漏洞挖掘实践
暂无相关信息
暂无相关信息
优秀作者
1
T0daySeeker
贡献值:38700
2
一天
贡献值:24800
3
Yale
贡献值:18000
4
1674701160110592
贡献值:18000
5
1174735059082055
贡献值:16000
6
Loora1N
贡献值:13000
7
bkbqwq
贡献值:12800
8
手术刀
贡献值:11000
9
lufei
贡献值:11000
10
xsran
贡献值:10600
目录
声明
1 概述
2 正文
2.1 漏洞挖掘思路
2.2 JavaScript审计关键点
2.3 漏洞攻击链分析
3 总结
1. JavaScript常见高危函数
2. 浏览器全局检索
3. 渗透测试中挖掘JS漏洞,需聚焦四个核心维度如下:
4 祝福
转载
标题
作者:
你好
http://www.a.com/asdsabdas
文章
转载
自
复制到剪贴板