安全漏洞中的倚天剑——XSS跨站脚本攻击
one、概念
XSS跨站脚本攻击(Cross-Site Scripting)就是网站将用户输入的内容输出到页面上,在这个过程中可能有恶意代码被浏览器执行,XSS属于被动式的攻击,因为其被动且不好利用,所以许多人常呼略其危害性。
XSS通常情况可以有两种解释就是它可以是一种攻击方式,或者是一种漏洞。
XSS其实叫CSS,但是由于和另一种网页技术——层叠样式表(Cascading Style Sheets)的缩写一样,为了防止混淆,所以把原本的CSS简称为XSS。
这一漏洞攻击在各种WEB应用安全漏洞中,一直被OWASP(Open Web Application Security Project)组织评为十大应用安全中的其中之一。
XSS一般攻击的是前端(比如盗取其他用户cookie),而不是后端,所以XSS一般需要结合其他漏洞进行挂马。(个人理解)
two、原理
XSS的原理是由于Web应用程序对用户输入过滤不足,这时候攻击者就可以通过这些不足在网页上面注入一些比如盗取cookie,转账等等的JavaScript脚本恶意代码,当用户浏览这些网页时就会执行其中的恶意代码,从而就完成一个的完整的XSS攻击流程。
跨站脚本,就是用户稀里糊涂地执行了攻击者放在网页上的恶意脚本,归根结底就是服务端过于信任客户端提交的数据。
在这里由于XSS有分类,所以对XSS原理的解释只是一个比较泛的解释,具体的原理还得需要具体的XSS类型去分析,即在下面博文中。
three、类型
上面说了,XSS只是一个比较泛的概念,具体的攻击漏洞,还得具体分析,一般XSS漏洞有反射型,存储型、DOM型(DOM—based型)。
1、反射型XSS
感觉看上面的图比较难理解,zzzzzz
反射型XSS又叫非持久型XSS,是用户点击到攻击者设置好的恶意网站(一般这种是POST请求才使用)或者是用户访问到攻击者设置好的URL(即可以使用GET请求),在网页返回的内容中出现攻击者设置的XSS脚本代码,并被浏览器解析执行。反射的意思就是XSS攻击脚本被Web服务器反射回来给浏览器解析执行。
在这里我们会发现,反射型XSS由于请求方式不同攻击手法也不同,但原理大同小异,就是都是让客户去触发到这个漏洞点上,返回服务器反射给浏览器并被浏览器解析,这之间服务器他就相当于一个传递者,将恶意代码传递个用户,这一过程看上去就像反射镜反射一样,攻击者将一束光线射给反射镜,反射镜又将这束光反射给用户。
注意:这里是浏览器解析了脚本,而不是服务器
2、存储型XSS
存储型XSS也叫持久性XSS,是攻击者将恶意脚本代码存储到Web服务器中并被解析,客户当访问到这网页时将受到攻击。在这里一定要注意反射型与存储型区别:链接在这里。
这时我们就会发现不管是什么方式请求,
注意:这里是服务器解析了脚本,而不是浏览器
3、DOM型XSS
首先我们需要明白什么是DOM?
DOM(Document Object Model),是一种文档对象模型,DOM通常用于代表在HTML、XHTML和XML中的对象,使用DOM可以允许程序和脚本动态地访问和更新文档的内容、结构和样式,本质就是一种树状的模型。
DOM型XSS是基于DOM文档对象模型的一种漏洞,所以受客户端浏览器的脚本代码所影响,而不是想前面两种会与服务器交互(不是解析,是交互)。
DOM型XSS由于是取决于输出位置,并不取决于输出环境,因此也可以说DOM型XSS既有可能是反射型的,也有可能是存储型的,就是说它的输出点是在DOM位置上。
这个类型有点抽象,说实话自己在了解到这个类型XSS时也是懵逼的很,看了这篇博文,大概懂了个一二:链接
就是说DOM型XSS只在浏览器上有恶意代码才算。
如果对三种类型的XSS还有不了解或者区分不开的读者可以查看这个链接:链接在此
four、危害
个人觉得XSS与SQL注入是漏洞安全中两个必不可少的话题,就像倚天剑和屠龙刀一样,其危害可想而知。
以下是说可能涉及到的危害:
- 1、盗取各类用户帐号
- 2、控制网站服务器数据
- 3、盗窃所属网站公司的商业价值资料
- 4、非法转账
- 5、传播XSS跨站脚本蠕虫
- 6、结合其他漏洞进行综合漏洞攻击
- 7、提升攻击者权限
- 8、控制受害者机器向其他网站发起攻击
- 9、网站挂马
five、XSS攻击流程
攻击流程:
我们来假设一个情景:现在有一个网站,它可能有XSS漏洞,那么攻击流程可以如下:
1、先在文本框或者URL里判断这个输入位是在HTML属性里面还是在属性外面,如果是属性里面,那么我们就需要对其进行闭合猜测,即:>、’>、">等等,并且可以利用未闭合的特点加入事件引发弹窗等现象,如果是在外面,那么进入下一步
2、我们可以使用<script>alert(/xss/)</script>语句及其变种进行初步测试,如果有结果,那么我们就进入第四步,如果没有结果,那么我们就进入下一步
3、使用特殊的方式方法对XSS防御进行绕过,当绕过成功时进入下一步
4、对网站进行进一步渗透,并结合其他漏洞进行综合渗透
5、整理数据,书写漏洞报告
测试XSS:
检测XSS一般分两种:手工检查、全自动检测
手工检查
一般使用盲打的方式,就是不知道后台代码,靠自己的经验去猜测,或者使用一些比较敏感的符号'<>"/()
反正见到输入框或者是URL参数就是加代码。全自动检测
检测工具:Appscan、AWVS、BurpSuite。。。
一些常见的脚本代码函数:
<script>alert(/xss/)</script> alert()方法用于显示带有指定消息和确认按钮的警告框
"><script>alert(/xss/)</script> 对页面属性的闭合操作
document.cookie 显示当前页面的cookie
window.location.hostname 返回Web主机的域名
window.location.pathname 返回当前页面的路径和文件名
window.location.port 返回Web主机的端口(80或443)
window.location.protocol 返回所使用的Web协议(http:或https:)
window.location.href 返回当前显示的文档的完整URL
onload 一张页面或一幅图像完成加载
onsubmit 确认按钮被点击触发
onmousemove 鼠标移动到相应位置触发
onerror 在加载文档或图像时发生错误
xss-labs-master靶机攻略
攻略地址:链接在此
Six、防御措施
- 1、对任何用户的输入与输出都采取不信任
- 2、对特殊符号及特殊语句进行的严格过滤
- 3、设置黑名单与白名单
- 4、在开发时开发人员严格设置WEB安全编码规范
- 5、对cookie进行特殊防御
- 6、对进行网页编码实体化
- 7、对Session标记、验证码或者HTTP头的检查
防御措施说白了,就是对任何用户都采取不信任。
后语:我们不是网络上面的破坏者,而是网络世界的维护者,我们是白帽子,也是红帽子!
安全漏洞中的倚天剑——XSS跨站脚本攻击相关推荐
- XSS(跨站脚本)漏洞详解之XSS跨站脚本攻击漏洞的解决
XSS(跨站脚本)漏洞详解 XSS的原理和分类 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, ...
- XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析
2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...
- XSS跨站脚本攻击漏洞(1)
XSS漏洞介绍: xss攻击的目录就是让前端把我们的攻击代码执行 跨站攻击 全都是前端的 只需要右击查看源代码就可以查看到漏洞了 测试漏洞方式:弹窗测试(测试成功以后具体功能实现的xss代码有很 ...
- XSS(跨站脚本攻击)漏洞解决方案
XSS(跨站脚本攻击)漏洞解决方案 参考文章: (1)XSS(跨站脚本攻击)漏洞解决方案 (2)https://www.cnblogs.com/boboxing/p/9261996.html 备忘一下 ...
- 渗透知识-XSS跨站脚本攻击
XSS跨站脚本攻击:两种情况.一种通过外部输入然后直接在浏览器端触发,即反射型XSS:还有一种则是先把利用代码保存在数据库或文件中,当web程序读取利用代码并输出在页面上时触发漏洞,即存储型XSS.D ...
- xss跨站脚本攻击_网络安全xss跨站脚本攻击原理
以下在未经授权的网站操作均为违法行为 XSS跨站脚本攻击 xss的危害 网络钓鱼,盗取各类账号密码 我们先来看一下下面的案例:先来记住一下下面中的表 我们来做一个转发 上面页面显示已经登录,但是突然页 ...
- 遭遇 XSS 跨站脚本攻击?稳住,这些方法可保你渡劫 | 附代码、图解
作者 | 杨秀璋 责编 | 夕颜 出品 | CSDN博客 本文将详细讲解XSS跨站脚本攻击,从原理.示例.危害到三种常见类型(反射型.存储型.DOM型),并结合代码示例进行详细讲解,最后分享了如何预防 ...
- 《XSS跨站脚本攻击剖析与防御》—第6章6.1节参 考 文 献
本节书摘来自异步社区<XSS跨站脚本攻击剖析与防御>一书中的第6章6.1节参 考 文 献,作者邱永华,更多章节内容可以访问云栖社区"异步社区"公众号查看. 参 考 文 ...
- XSS(跨站脚本攻击)相关内容总结整理
XSS的攻击相关资料整理 文章目录 XSS的攻击相关资料整理 跨站脚本攻击(XSS) XSS 简介 XSS 危害 XSS 原理 XSS 分类 XSS 防御总结 XSS 问答 参考资料 跨站脚本攻击(X ...
最新文章
- Aquaculture:天津农科院谢凤行团队揭示菌群预测功能与实际代谢特性的相关性...
- omnigraffle 的一些总结
- HDU - 6629 string matching(扩展KMP)
- pcb过孔漏铜_为什么PCB板在生产中会铜线脱落?
- CCCF译文 | 从计算思维到计算行动*
- android6.0权限管理工具EasyPermissionUtil
- python tkinter计算器实例_python库的tkinter带你进入GUI世界(计算器简单功能)
- s1200 博图高速脉冲计数值没有变化_如何实现SIMATIC S7-1200的高速计数器(HSC)软件门控制?...
- 漫步微积分二十五——面积问题
- GB28181 PS流传输格式详解
- 来也科技收购Mindsay背后:新旧势力交锋智能自动化备受关注
- [组图]10个免费在线图片特效处理的网站
- 通配符SSL证书购买建议
- wince5.0模拟器连接ActiveSync和共享网络PC分享上网及运行BS程序(模拟手持设备)
- 计算机教室网络安全应急预案,校园网和计算机教室多媒体教室应急预案
- Linux下文件比对功能
- Scipy.integrate(scipy积分部分中文文档翻译,进度70%)
- Git - 入门到熟悉_日志管理
- Python实现Logistc回归分类(西瓜数据集、鸢尾花数据集)详解
- 北斗GNSS卫星导航定位芯片架构和设计发展趋势
热门文章
- 无关风月怎谈价格:个性化直播源码打造多功能一对一交友、直播程序功能
- Java 集合List、Set、Map知识结构大全详解
- 1-3 js基础还是看caicia吧(老师说小游戏)
- APP自动化--元素操作之九宫格解锁密码图案
- CodeChef 遇到 Language Rejected 怎么办
- win7设置wifi热点_Windows系统设置WIFI热点
- 四川高考成绩位次查询2021,211大学2021年四川录取分数线及位次排名
- 2016年11月5日学习总结
- 开到“十字路口”的共享汽车未来怎么走?
- 澳大利亚3-1逆转日本 狂斩日本,大家来支持一下,打倒日本,爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽