[典型漏洞分享]从一个手动分析的反射型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基础===获取知乎标题时候,文件编码失败的总结
总结一下,关于获取到的信息编码失败. 刚才在执行代码的时候,发现一个问题: 然后修改代码如下: '''爬取知乎界面的标题''' import requests import re import sys ...
- UVA 11076 Add Again
题目链接:UVA-33478 题意为给定n个数,求这n个数能组成的所有不同的排列组成的数字的和. 思路:发现对于任意一个数字,其在每一位出现的次数是相同的.换言之,所有数字的每一位相加的和是相同的. ...
- SVN使用详解
一.SVN的使用 项目经理使用,写好项目框架.文档等. 李四(程序员)的使用,在项目经理写好的框架上进行开发. 二.SVN三大指令 Checkout(检出操作): 连接到svn服务器 更新服务器数据到 ...
- php5和php7的异常处理机制 ----thinkphp5 异常处理的分析
1.php异常和错误 在其他语言中,异常和错误是有区别的,但是PHP,遇见自身错误时,会触发一个错误,而不是跑出异常.并且,php大部分情况,都会触发错误,终止程序执行,在php5中,try catc ...
- 机器学习方法(六):随机森林Random Forest,bagging
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 前面机器学习方法(四)决策树讲了经典 ...
- 【hdoj_2152】Fruit(母函数)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2152 本题采用母函数模板求解,母函数模板如下: http://blog.csdn.net/ten_sory ...
- es6数组必看太实用了
随着前后分离,前端人员也要写大量的逻辑代码,es5很多地方尤其是数据工具大拿数组,很多时候都是捉襟见肘. 继而,es6为我们扩展了很多good的工具和方法,让我们一起学习es6吧. 1原型方法from ...
- 五十五 网络编程 UDP编程
TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据.相对TCP,UDP则是面向无连接的协议. 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包.但是,能不 ...
- nginx静态资源浏览器缓存
1.缓存介绍 作用:提升用户体验,减少服务器压力 浏览器无缓存:浏览器发起请求->无缓存->请求WEB服务器->web服务器检查是否有更新(没有更新返回304)->呈现 浏览器 ...
- LeetCode 461 汉明距离/LintCode 365 统计二进制中1的个数
LeetCode 461. 汉明距离 or LintCode 365. 二进制中有多少个1 题目一:LeetCode 461. 汉明距离 LeetCode 461.明距离(Hamming Distan ...