[典型漏洞分享]从一个手动分析的反射型XSS漏洞看待一个安全设计原则【中危】
这是在测试YS“本地相册”功能时发现的一个反射型XSS,自己在安全测试过程中也发现过不少XSS漏洞,唯独这个的发现过程有点区别。
在此之前,我在测试另外一个模块的功能接口的时候发现了一个反射型XSS,当我在测试“本地相册”这个功能的时候,当我用burp拦截到HTTP请求时,发现该请求有3个参数,仔细观察,发现这3个参数居然和之前有XSS漏洞的接口的参数是一模一样的,但是有区别的地方:两者接口名称(action)是不一样的,两者参数个数不一样,之前的是4个,“本地相册”是3个,之前出现漏洞的第4个参数在“本地相册”接口上并没有出现,于是乎自觉告诉我这里可能会有问题,我本能的在“本地相册”接口上添加了第4个参数,提交后查看返回,后台居然未经处理原样返回!于是乎就产生了这个漏洞。以此推测,开发的兄弟应该是复用了之前有漏洞的接口的代码,然后在此基础上做的修改,而复用时间点是在我发现之前那个接口的漏洞之前,所以导致一连串的漏洞存在,后来经过完整的排查,还发现了另外两个接口也复用了同一份代码,同样存在这样的问题。
总结:挖漏洞的过程需要善于观察和反复思考,该案例体现了一个安全设计原则性问题,即存在漏洞的代码可能会被其它组件或产品“继承”,导致漏洞扩散,因此,在排查处理漏洞时,切不可单点处理,而应平行排查到面,减少漏洞再发生的概率。
YS“本地相册”功能存在反射型XSS漏洞【高】
问题描述:
本地相册功能的XXX接口的YYY参数存在反射型XSS漏洞。注意:漏洞参数是本人手动添加上去的,正常提交不会存在。
测试步骤:
反射型XSS漏洞的验证:
1、 登录YS,选择 视频库à本地相册,点击图片,如下图所示:

2、 在请求的URL中增加cameraId参数(注意:原来是没有的),如下图所示:

3、 从服务器返回的数据可以看到,插入语句在js标签之间输出,如下图所示:

4、 执行结果:

问题扩展:
XSS可对用户进行攻击并盗取cookie。
解决建议:
使用javascript输出转义来解决输出数据在js标签之间的XSS
[典型漏洞分享]从一个手动分析的反射型XSS漏洞看待一个安全设计原则【中危】的更多相关文章
- 解决反射型XSS漏洞攻击
对于程序员来说安全防御,无非从两个方面考虑,要么前端要么后台. 一.首先从前端考虑过滤一些非法字符. 前端的主控js中,在<textarea> 输入框标签中,找到点击发送按钮后,追加到聊天 ...
- [典型漏洞分享]结合YS业务分析使用oauth协议的风险
结合YS业务分析oauth协议风险 问题描述: YS 使用QQ互联的openAPI实现QQ登录YS的功能,使用该功能需要在腾讯注册登录时的回调地址,根据oauth协议,用户的code或者access_ ...
- 一个跨域请求的XSS漏洞再续
上回提到,由于需要使用代理页面解决POST请求的跨域请求,需要在代理页面上执行传递的函数.所以我们做了白名单只有我们认可的回调函数才能在页面上执行,防止执行非法的JS方法,做脚本攻击. 我们所采用的方 ...
- 一个跨域请求的XSS漏洞
场景回顾 一个表单进行跨域提交的方式有很多,我们使用的采用隐藏iframe,在本域下放一个代理页面,通过服务端配合完成一次完整的请求. 首先,部署proxy.html代理页面.这个页面处理服务端返回的 ...
- markdown反射型xss漏洞复现
markdown xss漏洞复现 转载至橘子师傅:https://blog.orange.tw/2019/03/a-wormable-xss-on-hackmd.html 漏洞成因 最初是看到Hack ...
- Wordpress Calendar Event Multi View < 1.4.01 反射型xss漏洞(CVE-2021-24498)
简介 WordPress是Wordpress基金会的一套使用PHP语言开发的博客平台.该平台支持在PHP和MySQL的服务器上架设个人博客网站.WordPress 插件是WordPress开源的一个应 ...
- 74CMS 3.4 反射型XSS漏洞
一. 启动环境 1.双击运行桌面phpstudy.exe软件 2.点击启动按钮,启动服务器环境 二.代码审计 1.双击启动桌面Seay源代码审计系统软件 2.因为74CMS3.4源代码编辑使用GBK编 ...
- [PoC]某B2B网站的一个反射型XSS漏洞
Author: Charlie 个人微博:http://YinYongYou.com 转载请注明出处. 工作过程纯粹手贱,测试了一下.然后发现了这么一个东西.有心利用能造成大范围影响.如可以自由修改用 ...
- CRLF Injection漏洞的利用与实例分析
CRLF Injection很少遇见,这次被我逮住了.我看zone中(http://zone.wooyun.org/content/13323)还有一些同学对于这个漏洞不甚了解,甚至分不清它与CSRF ...
随机推荐
- 用Python写个自动ssh登录远程服务器的小工具
很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的 ...
- 流程控制--while
/* while 是在有条件控制的情况下 进行的循环 */ [root@localhost test1]# vim .py //ADD #!/usr/bin/python n = while True ...
- kivy安装
>>> os.system('pip install kivy')Collecting kivy Downloading Kivy-1.9.1-cp27-none-win_amd64 ...
- Nginx集群配置与redis的session共享策略
一.什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Ramb ...
- jquery文档加载几种写法,图片加载写法
jquery文档加载写法: $(function(){ }) ; //个人最常使用方式 $(document).ready(function(){ }); //调用文档对象下的ready方法传入一个函 ...
- UVA - 315
B - Network Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Description A ...
- hdu 1114(完全背包)
Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- 史上最全的web前端系统学习教程!
这份资料整理花了近7天,如果感觉有用,可以分享给更有需要的人. 在看接下的介绍前,我先说一下整理这份资料的初衷: 我的初衷是想帮助在这个行业发展的朋友和童鞋们,在论坛博客等地方少花些时间找资料,把有限 ...
- ubuntu18.04安装时ACPI error 无法进入系统的问题
问题描述:安装系统时无法进入图形界面 出现 一堆错误 布拉布拉布拉 [0.101261] ACPI Error: [_ppc] Namespace lookup failure, AE_ALREADY ...
- JavaScript将最终获得正确的异步编程
JavaScript将最终获得正确的异步编程 包括该提案异步 在ECMAScript中的功能已经达到第四阶段; 这意味着它将在2017年发布的标准.但是这对JavaScript开发者意味着什么? 有很 ...