[典型漏洞分享]从一个手动分析的反射型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 ...
随机推荐
- .net爬虫了解一下
using System; //添加selenium的引用 using OpenQA.Selenium.PhantomJS; using OpenQA.Selenium.Chrome; using O ...
- 1003: FFF团的情侣活动--课程作业--找出N个数字中唯一出现奇数次的数
1003: FFF团的情侣活动 Time Limit: 1 Sec Memory Limit: 2 MB Description 圣诞节快到了,Water作为大FFF团团长,组织许多对情侣进行电影院 ...
- 【LabVIEW技巧】LabVIEW中的错误2
前言 通过上一个文章的介绍,我们发现LabVIEW自带的错误管理依旧比较基础,如果需要对错误进行很好的管理,则需要进一步的进行程序编写. 用于在程序设计的过程中,为了保证程序的健壮性,我们需要 1.忽 ...
- css3属性书写的时候带的一些前缀的意思
使用css3属性时,大部分都要带这些识别前缀,早期点的浏览器才能识别.现在最新版的浏览器基本都支持css3 基本都不用写前缀 ,写前缀是为了向前兼容老版本的浏览器而已. -ms-transform: ...
- 多路复用I/O模型poll() 模型 代码实现
多路复用I/O模型poll() 模型 代码实现 poll()机制和select()机制是相似的,都是对多个描述符进行轮询的方式. 不同的是poll()没有描述符数目的限制. 是通过struct pol ...
- oracle11g如何创建数据库
oracle11g创建数据库的步骤如下:1.按住键盘上Windows键,打开开始菜单,找到Database Configuration Assitant并打开:2.打开数据库配置助手Database ...
- Sort List——经典(链表中的归并排序)
Sort a linked list in O(n log n) time using constant space complexity. 对一个链表进行排序,且时间复杂度要求为 O(n lo ...
- redis 安装及安装遇到的问题解决
https://blog.csdn.net/jy0902/article/details/19248299 http://q.fireflyclub.org/?/article/24 https:// ...
- 五十九 数据库访问 使用MySQL
MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也 ...
- ZOJ 1610.Count the Colors-线段树(区间染色、区间更新、单点查询)-有点小坑(染色片段)
ZOJ Problem Set - 1610 Count the Colors Time Limit: 2 Seconds Memory Limit: 65536 KB Painting s ...