sql 截取json数据_Web安全:JSON注入漏洞

一次性付费进群,长期免费索取资料

进微信群回复公众号:微信群;QQ群:460500587

 教程列表  见微信公众号底部菜单 |   本文底部有推荐书籍 

3e59f486a0c1b20621e9099024b55663.png

微信公众号:计算机与网络安全

ID:Computer-network

JSON是一种轻量级的数据交换方式,也是一种基于文本的数据交换方式。JSON也是一种数据结构,类似于txt、Excel及XML等文本。无论是前端语言中的JavaScript还是后端语言,JSON都可以作为一个对象来读写。如此一来,开发者就可以很方便地管理并读写所需要的数据。而且,前端语言与后端语言的数据读写行为彼此独立。只要后端语言返回的JSON格式不变,前端语言就能正常显示;只要前端语言传输的JSON格式不变,后端语言处理逻辑也不会变。

JSON其实就是一个更具有一般意义的管理数据的格式,只要这个格式不变,格式中的内容可以随意改变而不会改变整体的格式。

我们来介绍下JSON的安全问题。当程序在解析JSON数据的时候,若该JSON数据没有做安全过滤或者被攻击者植入了恶意数据,那么这些恶意数据很可能在程序中会被当作代码来执行,这样就造成了JSON注入。攻击者可以将任意数据注入JSON中,包括SQL注入漏洞攻击数据、跨站脚本漏洞攻击数据及任意文件读取数据等。

如果某站存在JSON注入漏洞,攻击者就能使用Burp Suite截取JSON传输的数据包,如图1所示。

78f8947ac9847357f9e9afa68d81b539.png

图1  截取JSON传输数据包

将该数据包发送至Web服务器,Web服务器返回信息如图2所示。

39b9e14b68cd14cc07823049736e73c3.png

图2  JSON请求返回信息

由图2可见,Web服务器向客户端返回了JSON数据。于是,攻击者可以在JSON中注入数据试试,向JSON数据中注入跨站脚本漏洞攻击代码,如图3所示。

84402b83d15b9b3ced6765af6b0478bd.png

图3  注入跨站脚本漏洞攻击代码

攻击者将已注入跨站脚本漏洞攻击代码的数据包发送至Web服务器,Web服务器返回信息如图4所示。

3b06ca8c9068caf2b1db5db5d0a030d9.png

图4  注入跨站脚本漏洞攻击代码的JSON请求返回信息

由图4可见,这里的反斜杠被Web服务器进行了安全转义处理,无法进行JSON注入。此时,攻击者进入Web服务器,关闭Web服务器上的安全转义。于是,我们使用浏览器重现一下刚才JSON注入的效果,JSON注入成功,如图5所示。

eebd8378aa3849a7cb62202846850fa8.png

图5  JSON注入成功

微信公众号:计算机与网络安全

ID:Computer-network

【推荐书籍】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值