XSS漏洞-跨站脚本攻击介绍(一)

2022年8月15日14:24:05 发表评论 203 views

1.1 反射型XSS

这个功能类似一个留言板, 输入信息后下面会增加对应的信息。

1.1.1 原理演示

1、输入文本信息后页面汇总会添加我们输入的文本信息:

XSS漏洞-跨站脚本攻击介绍(一)

2、根据4中回显信息判断出显示的文本内容是Hello $name,我们输入的信息被存放在$name变量中。

3、我们添加一条JavaScript代码获取cookie:

<script> alert(document.cookie); </script>

XSS漏洞-跨站脚本攻击介绍(一)

4、查看浏览器中cookie,与获取到的cookie一致。

5、关键点是在通过url控制了页面的输出。URL中JavaScript代码是可以通过URL控制页面输出的:

http://192.168.10.159/DVWA/vulnerabilities/xss_r/?name=%3Cscript%3E+alert%28document.cookie%29%3B+%3C%2Fscript%3E#

1.2 存储型XSS

存储型XSS的优势在于恶意代码被存储到服务器上,比如我们在论坛发帖的过程中嵌入了XSS攻击代码,当我们发布的帖子被用户浏览访问时就可以触发XSS代码。

存储型XSS和反射型XSS的区别是:XSS只会弹一次cookie信息;存储型XSS每次访问这个页面都是会弹出cookie信息,因为XSS代码已经嵌入在了该Web站点当中,所以每次访问都会被执行。

1.2.1 原理演示

1、在留言板中插入JS脚本:

XSS漏洞-跨站脚本攻击介绍(一)

2、后面每次访问该页面都会执行JS脚本,弹出cookie信息:

XSS漏洞-跨站脚本攻击介绍(一)

3、查看数据库数据:

MariaDB [dvwa]> select * from dvwa.guestbook;
+------------+--------------------------------------------+------+
| comment_id | comment                                    | name |
+------------+--------------------------------------------+------+
|          1 | This is a test comment.                    | test |
|          2 | <script> alert(document.cookie); </script> | leon |
+------------+--------------------------------------------+------+
3 rows in set (0.00 sec)

4、可以看到我们提交的数据被存放在数据库当中,每次用户访问页面时Web程序会从数据库中读取出XSS攻击代码,从而被重复利用。

1.3 DOM型XSS原理

DOM Based XSS漏洞是基于文档对象模型Document Objeet Model,DOM)的一种漏洞,它其实属于反射型XSS的一种,所以它也通过URL来进行触发XSS攻击。

1.3.1 原理演示

XSS漏洞-跨站脚本攻击介绍(一)

1、通过3可以看到参数在URL地址中是可控的,修改URL中传递的参数为leon , 将光标停留在地址栏上,按下回车,提交数据:

http://192.168.10.159/DVWA/vulnerabilities/xss_d/?default=leon

XSS漏洞-跨站脚本攻击介绍(一)

2、可以看到URL中的参数被带入到页面中被浏览器执行,从而修改页面中的内容变为leon,在url中加入JS脚本:

http://192.168.10.159/DVWA/vulnerabilities/xss_d/?default=<script> alert("leon"); </script>

XSS漏洞-跨站脚本攻击介绍(一)

3、可以看到我们构造的代码都能够被执行。

1.3.2 high级别DOM型XSS攻击

1.3.2.1  分析源码

代码中定义了一个白名单,我们只能选择白名单的内容才可以,输入其他字符无效。

XSS漏洞-跨站脚本攻击介绍(一)

1.3.2.2  构造payload

注入思路:#符号之后的代码不会被发送到服务器,也就是说代码没有被传递到服务器端,但是在本地页面已经加载。

http://192.168.10.159/DVWA/vulnerabilities/xss_d/?default=English#<script>alert("leon")</script>

1.3.2.3  执行payload

XSS漏洞-跨站脚本攻击介绍(一)

weinxin
我的微信
如果有技术上的问题可以扫一扫我的微信
版权声明
1. 本网站名称:Leon的博客
2. 本站永久网址:https://blog.leonshadow.cn
3. 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ632113590进行删除处理。
4. 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6. 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
liyang