前端漏洞(上)- JSONHijacking 漏洞
漏洞复现目的:熟悉 JSONHijacking 漏洞原理
漏洞介绍:
json劫持(jsonhijacking)漏洞其实是一个跨域数据窃取漏洞,它通过诱导用户点击恶意文件,重写Array()的构造函数的方法,将敏感的json数据发送攻击者,从而造成敏感信息泄露,所以可以理解为“通过CSRF方式导致的敏感信息泄露”。
搭建环境:docker 环境
命令:yml 文件目录下 执行 docker-compose up -d 直接拉取镜像
环境说明:
该题目为了演示 JSONHijacking 漏洞跨域获取数据,该环境分为两个Web系统,第一个端口8983模拟一个需要登录的站点,第二个端口8982模拟攻击者自建的系统,实战的目的是通过8984对应站点利用 JSONHijacking 漏洞 读取8983站点的用户信息。
1、JSONHijacking 漏洞原理图
2、实战操作
环境创建后,访问:http://127.0.0.1:8983/luoji/ 查看系统页面。该环境中两个测试账号,分别为user1,admin1,密码相同。
3、在 http://127.0.0.1:8983/luoji/ 页面登录admin1 账号
4、然后在同一浏览器打开 http://127.0.0.1:8984/jsonp_poc.html 网址,即可查看到8983端口站点的用户信息
5、JSONHijacking 漏洞 防御
(1)对请求来源进行检测
(2)尽量避免在JSONP 接口输出个人敏感信息
(3)将必须要通过跨域读取的内容封装为JSON 格式并通过Access-Control-Allow-Origin 限制跨域访问的源域名