第四章-XSS漏洞

第四章-XSS漏洞

第一节 XSS跨站脚本分类

1.1 XSS漏洞介绍

​ 跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

第四章-XSS漏洞_第1张图片

1.2 反射型XSS

反射型XSS又称非持久性XSS,这种攻击往往具有一次性。

攻击者通过邮件等形式将包含XSS代码的链接发送给正常用户,当用户点击时,服务器接受该用户的请求并进行处理,然后把带有XSS的代码发送给用户。用户浏览器解析执行代码,触发XSS漏洞。

例如:


当用户访问  url?uname=时,触发代码,弹出对话框。

第四章-XSS漏洞_第2张图片

1.3 存储型XSS

​ 存储型XSS又称持久型XSS,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性。

​ 攻击者在论坛、博客、留言板中,发帖的过程中嵌入XSS攻击代码,帖子被目标服务器存储在数据库中。当用户进行正常访问时,触发XSS代码。

例如:DVWA 中的 Stored XSS

第四章-XSS漏洞_第3张图片

1.4 DOM型XSS

​ DOM型XSS全称Document Object Model,使用DOM动态访问更新文档的内容、结构及样式。

DOM结构图

第四章-XSS漏洞_第4张图片

HTML标签都是节点,节点组成了节点树。通过HTML

DOM 可以对树上的所有节点进行修改。

服务器响应不会处理攻击者脚本,而是用户浏览器处理这个响应时,DOM对象就会处理XSS代码,触发XSS漏洞。

例如:DVWA DOM XSS。

第四章-XSS漏洞_第5张图片

第二节 XSS盗取cookie

2.1 Cookie介绍

​ Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。

​ 目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除

​ 服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。

​ Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。

2.2 反射XSS盗取cookie

存在反射型XSS漏洞的站点位置 可以利用以下链接来盗取Cookie

url?uname=

将连接发送到用户,用户点击即触发XSS漏洞。同时可以使用URL编码迷惑用户。

cookie.php代码:



http://127.0.0.1/dvwa/vulnerabilities/xss_r/?name=#

第四章-XSS漏洞_第6张图片

2.3 利用cookie会话劫持

打开Cookie.txt文件,找到Cookie值,访问目标站点,修改Cookie为Cookie.txt文件中的内容。

第四章-XSS漏洞_第7张图片

2.4 劫持会话后的操作

1、进入后台寻找上传点等进一步利用漏洞给上传一句话Webshell。

2、修改配置等。

第三节 XSS篡改网页链接

3.1 JS代码讲解

window.onload 当窗口加载时,执行匿名函数。

使用for循环遍历所有获得的链接a标签。

3.2 XSS篡改链接

将篡改代码注入到对应的XSS位置。以DVWA 反射XSS为例。

第四章-XSS漏洞_第8张图片

3.3 篡改链接指向不良URL

刷流量,某些站点的重定向。

https://weibo.com/2081681517/GEZpU841G?ref=feedsdk&type=comment#_rnd1540197060886

第四章-XSS漏洞_第9张图片

3.4 篡改链接指向恶意URL

Beef 进行恶意链接生成,以及利用hook.js执行其他命令。

第四章-XSS漏洞_第10张图片

第四章-XSS漏洞_第11张图片

第四节 XSS盗取用户信息

4.1 盗取用户信息原理

克隆网站登陆页面,利用存储XSS设置跳转代码,如果用户访问即跳转到克隆网站的登陆页面,用户输入登陆,账号和密码被存储。

第四章-XSS漏洞_第12张图片

4.2 setookit工具克隆网站

万能的社工工具。

第四章-XSS漏洞_第13张图片

第四章-XSS漏洞_第14张图片

4.3 存储XSS跳转克隆网站

xss payload: 

第四章-XSS漏洞_第15张图片

4.4 查看盗取账号和密码

第四章-XSS漏洞_第16张图片

第五节 没有过滤的XSS

5.1 实验环境介绍

https://xss-quiz.int21h.jp/

一个日本安全研究员制作的XSS练习靶场。

第四章-XSS漏洞_第17张图片

5.2 html中文本标签b介绍

 标签规定粗体文本。

第四章-XSS漏洞_第18张图片

5.3 探测XSS过程

1、构造一个独一无二且不会被识别为恶意代码的字符串用来提交到页面。

例如:123qweasdzxc

2、使用浏览器审查工具进行代码审查,寻找构造的字符串是否在页面中显示。

第四章-XSS漏洞_第19张图片

5.4 闭合文本标签利用XSS

1、简单Payload:

2、闭合标签Payload: “

第四章-XSS漏洞_第20张图片

第六节 标签属性中的XSS

6.1 配置Chrome关闭XSS-Auditor

https://xss-quiz.int21h.jp/ 利用XSS过程中会出现下图情况。配置Chrome --args --disable-xss-auditor

第四章-XSS漏洞_第21张图片

第四章-XSS漏洞_第22张图片

6.2 属性中的XSS发现

技巧:ctrl+F 搜索特定字符串

第四章-XSS漏洞_第23张图片

6.3 属性中的XSS闭合引入script

闭合引号 尖括号,引入script脚本

“>

第四章-XSS漏洞_第24张图片

6.4 属性中的XSS闭合引入事件

" onmouseover=alert(document.domain)>

第四章-XSS漏洞_第25张图片

第七节 选择列表中的XSS

7.1 HTML select标签介绍

select 元素可创建单选或多选菜单。