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跨站脚本攻击相关推荐

  1. XSS(跨站脚本)漏洞详解之XSS跨站脚本攻击漏洞的解决

    XSS(跨站脚本)漏洞详解 XSS的原理和分类 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆, ...

  2. XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析

    2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...

  3. XSS跨站脚本攻击漏洞(1)

    XSS漏洞介绍: xss攻击的目录就是让前端把我们的攻击代码执行 跨站攻击   全都是前端的  只需要右击查看源代码就可以查看到漏洞了 测试漏洞方式:弹窗测试(测试成功以后具体功能实现的xss代码有很 ...

  4. XSS(跨站脚本攻击)漏洞解决方案

    XSS(跨站脚本攻击)漏洞解决方案 参考文章: (1)XSS(跨站脚本攻击)漏洞解决方案 (2)https://www.cnblogs.com/boboxing/p/9261996.html 备忘一下 ...

  5. 渗透知识-XSS跨站脚本攻击

    XSS跨站脚本攻击:两种情况.一种通过外部输入然后直接在浏览器端触发,即反射型XSS:还有一种则是先把利用代码保存在数据库或文件中,当web程序读取利用代码并输出在页面上时触发漏洞,即存储型XSS.D ...

  6. xss跨站脚本攻击_网络安全xss跨站脚本攻击原理

    以下在未经授权的网站操作均为违法行为 XSS跨站脚本攻击 xss的危害 网络钓鱼,盗取各类账号密码 我们先来看一下下面的案例:先来记住一下下面中的表 我们来做一个转发 上面页面显示已经登录,但是突然页 ...

  7. 遭遇 XSS 跨站脚本攻击?稳住,这些方法可保你渡劫 | 附代码、图解

    作者 | 杨秀璋 责编 | 夕颜 出品 | CSDN博客 本文将详细讲解XSS跨站脚本攻击,从原理.示例.危害到三种常见类型(反射型.存储型.DOM型),并结合代码示例进行详细讲解,最后分享了如何预防 ...

  8. 《XSS跨站脚本攻击剖析与防御》—第6章6.1节参 考 文 献

    本节书摘来自异步社区<XSS跨站脚本攻击剖析与防御>一书中的第6章6.1节参 考 文 献,作者邱永华,更多章节内容可以访问云栖社区"异步社区"公众号查看. 参 考 文 ...

  9. XSS(跨站脚本攻击)相关内容总结整理

    XSS的攻击相关资料整理 文章目录 XSS的攻击相关资料整理 跨站脚本攻击(XSS) XSS 简介 XSS 危害 XSS 原理 XSS 分类 XSS 防御总结 XSS 问答 参考资料 跨站脚本攻击(X ...

最新文章

  1. Aquaculture:天津农科院谢凤行团队揭示菌群预测功能与实际代谢特性的相关性...
  2. omnigraffle 的一些总结
  3. HDU - 6629 string matching(扩展KMP)
  4. pcb过孔漏铜_为什么PCB板在生产中会铜线脱落?
  5. CCCF译文 | 从计算思维到计算行动*
  6. android6.0权限管理工具EasyPermissionUtil
  7. python tkinter计算器实例_python库的tkinter带你进入GUI世界(计算器简单功能)
  8. s1200 博图高速脉冲计数值没有变化_如何实现SIMATIC S7-1200的高速计数器(HSC)软件门控制?...
  9. 漫步微积分二十五——面积问题
  10. GB28181 PS流传输格式详解
  11. 来也科技收购Mindsay背后:新旧势力交锋智能自动化备受关注
  12. [组图]10个免费在线图片特效处理的网站
  13. 通配符SSL证书购买建议
  14. wince5.0模拟器连接ActiveSync和共享网络PC分享上网及运行BS程序(模拟手持设备)
  15. 计算机教室网络安全应急预案,校园网和计算机教室多媒体教室应急预案
  16. Linux下文件比对功能
  17. Scipy.integrate(scipy积分部分中文文档翻译,进度70%)
  18. Git - 入门到熟悉_日志管理
  19. Python实现Logistc回归分类(西瓜数据集、鸢尾花数据集)详解
  20. 北斗GNSS卫星导航定位芯片架构和设计发展趋势

热门文章

  1. 无关风月怎谈价格:个性化直播源码打造多功能一对一交友、直播程序功能
  2. Java 集合List、Set、Map知识结构大全详解
  3. 1-3 js基础还是看caicia吧(老师说小游戏)
  4. APP自动化--元素操作之九宫格解锁密码图案
  5. CodeChef 遇到 Language Rejected 怎么办
  6. win7设置wifi热点_Windows系统设置WIFI热点
  7. 四川高考成绩位次查询2021,211大学2021年四川录取分数线及位次排名
  8. 2016年11月5日学习总结
  9. 开到“十字路口”的共享汽车未来怎么走?
  10. 澳大利亚3-1逆转日本 狂斩日本,大家来支持一下,打倒日本,爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽爽