版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、跨站的艺术-XSS入门与介绍 作者:未知 原文链接:/the-art-of-xss-1-introduction/ 收集整理:/test/index.php本文由 干货1 跨站的艺术-XSS入门与介绍2017-02-14 /XSS跨站的艺术 / 1179 点击 / 阅读耗时 21 分钟 什么是XSS?XSS全称跨站脚本(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故缩写为XSS,比较合适的方式应该叫做跨站脚本攻击。 跨站脚本攻击是一
2、种常见的web安全漏洞,它主要是指攻击者可以在页面中插入恶意脚本代码,当受害者访问 这些页面时,浏览器会解析并执行这些恶意代码,从而达到窃取用户身份/钓鱼/传播恶意代码等行为。 上图就是一个典型的存储型XSS。 什么是Payload?Payload是一个专业术语,中文翻译过来是是有效荷载,可能经常会从搞安全的口里说出,那么什么是 Payload?什么又是Exp?什么又是PoC? 先介绍PoC,PoC的全称是Proof of Concept,意思为概念验证,通俗的可以理解为漏洞验证脚本;而Exp是Exploit的简写,意思为漏洞利用,两者的区别即使一个仅限于验证,而一个是攻击利用。那么Paylo
3、ad呢?Payload是组成PoC和Exp的必要部分,也可以理解为验证代码。 2首页文章 Papers项目动态搜索 打个比喻,假如某个窗户存在问题,任何钥匙都可以开,那么这个比喻为一个漏洞,那么用钥匙打开窗户,看 下是否可以打开,这是PoC做的事,而打开窗户后进去偷东西,这是Exp做的事,而那把钥匙就可以理解为 Payload,Payload不区分是否攻击利用。 比如刚才上图中的那个XSS漏洞的Payload 如下: XSS是怎么产生的? 经常也会听到一个词,注入点,或者说专业术语是向量,指的是可控内容的提交的位置,比如下图中,搜索框,可以控制输入的内容,然后进行提交,那么实际在测试漏洞的时候
4、,就可以把注入点的内容替换为 Payload进行验证。 .5.GET 请求参数POST请求参数UAReferer URI一切可以提交数据到页面的点都称作向量而XSS或者说Web漏洞是怎么产生的?对非预期输入的信任!安全的本质是信任的问题,在上图中,搜索框的设置对于开发者来说,理论上应该输入的是正常的字符串,进行搜索,这是一种对输入的信任,并且这种信任对于开发者来说是有预期的,在他的预期里输入是正常的字符串,而漏洞的产生就在于出现了非预期的情况,开发者没有针对性的做处理。 31 这是以前挖的一个联想商城的XSS。 XSS分类 接下来来看看不同的XSS分类。 反射型(非持久型) 存储
5、型(持久型) DOM型 这是最常见的三种分类:存储型存储型XSS也叫持久型XSS,存储的意思就是Payload是有经过存储的,当一个页面存在存储型XSS的时 候,XSS注入成功后,那么每次访问该页面都将触发XSS,典型的例子是: 如留言板1.插入留言=内容存储到数据库 2. 查看留言=内容从数据库提取出来3. 内容在页面显示 如果这里存在XSS,Payload可以通过留言内容提交,然后显示在页面的时候可以生效,那么就是典型的存储型 41 test /预期无害的输入 2 XSStest onmouseover=alert(4438) x= /非预期输入 XSS。 开头的那个就是存储型XSS,而这
6、个也是之前微信网页版存在的另外一个存储型XSS,昵称中包含XSS 的 Payload,在点开查看群成员列表的时候就可以触发XSS。 反射型反射型XSS也叫非持久型XSS,最常见的是Payload是构造在网址的某个GET参数的值里。 比如这样的: 与存储型相反,反射型XSS的是通过提交内容,然后不经过数据库,直接反射回显在页面上,比如说以下代码 就存在反射想的XSS,通过参数get的值提交Payload: 51echo $_GETget;1/company/search.html?key_pro=confirm(1501) 这是之前微信朋友圈的一个活动,一个很常见
7、的形式,通过微信点击进入,授权登录,自动获取微信昵称,然后生成邀请函,而实际上读取的昵称是构造在网址上的,由于没有过滤,于是存在反射型XSS,点击的话就会跳转我的博客。 DOM 型其实DOM型也属于反射型的一种,不过比较特殊,所以一般也当做一种单独类型。 比如之前挖过的一个 的DOM型XSS,最终构造完网址地址是这样的: 61/mobile/index2.html?name=点击抽奖&type=s 而其背后代码生效大概是这样的: 上图是以前挖的一个子域名的一个注入点存在于Referer的DOM型XSS,在页面地址为 http:/w
8、 onerror=alert(0) 的页面点击链接跳转 到 /tv/3362/detail.shtml ,就可以触发XSS,页面中存在JS语句获取Referer,然后通过 页面加入img标签的的方式发起了一个GET请求,应该是一个访问来源记录的东西,而对于Referer的值没有做 处理,于是就存在DOM型XSS。 其他类型XSS上面是大家经常听到的XSS类型,其实细分下来还有其他的XSS类型: mXSS 突变型XSS UXSS 通用型XSS Flash XSSUTF-7 XSS71 2 var name = location.has
9、h;3 document.write(name);4 1/en/features.html# MHTML XSS CSS XSSVBScript XSS其中UTF-7、MHTML XSS、CSS XSS、VBScript XSS 只在低版本的IE中可以生效,现在应该基本不可见了,不过还是给大家介绍下。 mXSSmXSS中文是突变型XSS,指的是原先的Payload提交是无害不会产生XSS,而由于一些特殊原因,如反编码 等,导致Payload发生变异,导致的XSS。下面的漏洞是存在于以前版本的PC的QQ客户端的页面预览功能。 这是博客园提交的一篇文章,可以看到,提
10、交的XSS Payload已经被转义了,不产生。 8 上图是在QQ客户端里分享上面的博客园那篇文章的链接,而QQ存在网址预览功能,于是点击网址可以在右侧 显示出优化后的页面的内容,就导致了XSS的产生;这个预览功能实际上是QQ客户端内嵌了一个网页,这个页面对原网页内容进行提取和处理的过程中,将原本无害的XSS Payload进行了转码操作,于是导致了Payload 变 异而产生了XSS,我记得这个XSS,我前后一共绕过了三四次,然后提交给了TSRC。 实际上,页面预览这个功能不是针对所有网址都可以预览,对于一些大型的网站,估计是有白机制或者是认证的网站,才能进行预览,随便一个网址是不可以的,这
11、本身也是一种信任的限制在里面,如果是随意的网站,那就更好控制内容了,所以对于域名是有限制的;这里也存在一个信任的问题,理论上,这些大站的内容 应该是没问题的,但实际情况是可被控制而导致产生XSS。 UXSSUXSS全称Universal Cross-Site Scripting,翻译过来就是通用型XSS,也叫Universal XSS。UXSS是一种利用浏览器或者浏览器扩展漏洞来制造产生XSS的条件并执行代码的一种攻击类型。UXSS 可以理解为Bypass 同源策略。 9同源策略:不同域的客户端脚本在没明确授权的情况下,不能读写对方的资源 上图就是一个安卓内核浏览器存在的UXSS,访问 www
12、.0/x.html ,页面嵌套TSRC的页面,然后可以 读取到TSRC站点的Cookie,具体的介绍我之前有写过一篇文章: 通用跨站脚本攻击(UXSS)Flash XSS101 var a:String = root.loaderInfo.parameters.par2 if(ExternalInterface.available)3 ExternalInterface.call(alert,a)4 else 5 trace(100)67stop() Flash产生的XSS主要来源于:getURL/navigateToURL 访问跳转 ExternalInterface.ca
13、ll 调用js函数 前者是访问跳转到指定URL,后者则是调用页面中JS函数,比如上面的代码就会导致弹框。 这是之前虾米的一个播放器页面,然后分享功能可以通过网址里的参数直接控制一些值,于是就存在了可控的 注入点,通过构造Payload可以触发,当点击进行分享的时候就会触发XSS。 111/res/kuang/xiamikuang5tab.swf?rname=%E6%96%B0%E6%AD%8C%3C%3E&dataUrl=http 这里也有篇介绍Flash XSS的文章:/archives/44299.html
14、,大家感兴趣的也可以看下。 UTF-7 XSS在以下两种场景可以在低版本IE浏览器触发UTF-7 XSS: meta未指定编码,特定版本IE发现内容存在UTF-7编码内容,则自动以UTF-7解码处理 指定编码为UTF-7UTF-7 XSS与普通XSS的区别就在于构造的Payload是UTF-7编码的,而基于上面两个场景的特性,低版本IE浏 览器会自动解码,于是就可以产生XSS。 上图中,a变量的值就是UTF-7 XSS 的Payload,实际上是正常Payload UTF-7编码后的结果。 MHTML XSSMHTML XSS 同样只存在于低版本的IE中,MHTML是MIME HTML (Mu
15、ltipurpose Internet Mail Extension HTML,聚合超文本标记语言)的缩写,把一个多附件(如图片,flas等)的网页内容都保存到单一的标准,是类似HTTP的协议,在IE中,当嵌入资源的URL的协议为MHTML 时,IE将调用MHTML Protocol Handler,把该 资源当作MHTML格式文件解析处理。 x.html 内容:12 其中通过特定的访问方式:就可以触发XSS,具体更多内容大家也可以自己搜索看看。 CSS XSSCSS XSS 是缘于IE8 Beta2以前版本支持使用expression在CSS中定义表达式(公式)来达到建立元素间属性之间的联系
16、等作用,于是就可以通过以上代码的方式触发XSS。 VBScript XSSVBScript XSS 同上面几种XSS一样,也是微软的产物,也可以触发XSS。131 2 body width:expression(alert(1);: red;3 1mhtml:/a.html!xss1PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg= BASE64解码:alert(1)1Content-Type:multipart/related;boundary=x2 -x3 Content-Location:xss4 Content-Transfer-Encoding:
17、base645 PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=6 -x- XSS防御 XSS的防御我就不多说了,之前有翻译过OWASP Xenotix XSS 漏洞利用框架作者Ajin Abranham写的一个给开发者的终极XSS防御备忘录,大家可以自己看看。 其他其实关于XSS,有很多东西可以深入,包括说学SS需要了解各种编码转义,各种绕过,这篇文章主要是进 行入门的介绍,然后附件里还附了一个附件是介绍XSS蠕虫的,以前翻译的,大家也可以自己看看,下面是是 一些学习资源。 一些在线XSS游戏 http:/prompt.ml/ 答 案 :https:/github.co
18、m/cure53/xss-challenge-wiki/wiki/prompt.ml http:/escape.alf.nu/ 答案:/cmdbat126/blog/static/17029212320149385547765/ / 答案:/articles/web/36072.html21h.jp/ 答 案:/cmdbat126/blog/static/1702921232013112542728566/一些学习网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电动助力自行车与高端自行车智能制造以及研发中心项目可行性研究报告模板拿地申报
- 6.5 DNS服务器配置与管理
- 企业员工职业发展培训制度
- 全国小学英语竞赛词汇与语法训练考试
- 护理不良事件:患者安全文化
- 2026年及未来5年市场数据中国第三方开放银行平台市场运营态势及发展前景预测报告
- 麻疹防控诊疗培训测试题(一)
- 护理创新在母婴护理中的应用
- 第6课《被压扁的沙子》教学设计-2025-2026学年统编版语文八年级下册
- 超声引导下中心静脉穿刺置管术规范化操作考核试题
- 电影《安妮霍尔》剧本
- 《机器人驱动与运动控制》全套教学课件
- 2024年6月浙江省高考生物试卷真题(含答案解析)
- 学校保安服务投标方案(技术方案)
- (必练)广东初级养老护理员考前强化练习题库300题(含答案)
- DL-T-1946-2018气体绝缘金属封闭开关设备X射线透视成像现场检测技术导则
- 八大作业票审批流程
- 交管12123学法减分考试题大全(含答案)
- 医院医生电子处方笺模板-可直接改数据打印使用
- 色盲检测图(俞自萍第六版)
- 高二【美术(人教版)5】客观看物体 (认知形体)-课件
评论
0/150
提交评论