跨站脚本漏洞(一)

简介

攻击者可以将恶意代码植入到web页面,其他用户浏览web页面时会受到攻击。
危害:盗取用户客户端的信息,cookie信息,会话信息,通过XSS蠕虫进行信息传播,在客户端植入木马,结合其他漏洞攻击服务器,在服务器中植入木马

分类

1.反射型XSS
恶意代码不会存储到服务器端,一般容易出现在搜索页面,需要构造植入恶意代码的web页面或者恶意连接,诱骗受害者进行点击,才能触发
2.存储型XSS
恶意代码存储在服务器,可以进行持久广泛的攻击,一般出现在留言板吗,个人信息,文章发表,评论区,或者注册页面,每个访问到这种页面的用户都会受到攻击
3.DOM型XSS
基于DOM的一种XSS漏洞

反射型XSS--pikachu练习

反射性XSS又叫非持久型XSS
典型攻击方式:攻击者通过电子邮件将包含xss的恶意链接发送给受害者。受害者访问连接,服务器接收受害者请求,然后将有xss的数据发送给目标用户,浏览器解析这段代码,触发攻击
1.找到输入点,查询接口,留言板;输入 特殊字符+唯一识别字符,提交,看返回页面
2.查看页面,搜索定位到唯一字符,结合唯一字符前后语法确认是否可以构造
3.修改攻击语句,提交脚本代码
在这里插入图片描述
剔除长度限制
在这里插入图片描述
输入<script>alert('xss'></script>

URL:http://192.168.31.34/pikachu-master/vul/xss/xss_reflected_get.php?message=<script>alert('xss')<%2Fscript>&submit=submi
在这里插入图片描述
这里只是对xss的验证,攻击者可以通过更为复杂的JS语句实现更多的功能,实现页面跳转,盗取信息等功能,对URL进行编码,起到迷惑作用,所以大家不要点击来路不明的连接

存储型XSS

之前测试过,所以一打开页面就出现了弹窗
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
提交,这个弹窗会一个个弹出,可能是机器的原因,是真的慢
在这里插入图片描述

DOM型XSS

.dom型xss实际是一种特殊的反射型XSS。
.HTML所有标签都是节点,他们构成节点树,他们可以被修改,创建,删除
.浏览器会为页面创建文档对象,每一个元素对应一个文档对象
.用JS可以对文档对象进行编辑,修改页面
.修改在客户端进行,不再与服务器进行交互
攻击方式:用户请求一个专门设计的URL,它由攻击者提交,其中包含XSS代码,服务器端的响应不会以任何形式包含攻击者的脚本,当用户浏览器处理时,dom就会处理XSS,导致XSS漏洞
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
检查页面,发现我们创建了一个图片img
加粗样式
点击提交按钮的前后URL相同,可以看出,处理发生在客户端

http://192.168.31.34/pikachu-master/vul/xss/xss_dom.php
http://192.168.31.34/pikachu-master/vul/xss/xss_dom.php

在这里插入图片描述
在这里插入图片描述
这段就是本地的处理函数

DOMXSS-X

在这里插入图片描述


                    function domxss(){
                        var str = window.location.search;
                        var txss = decodeURIComponent(str.split("text=")[1]);
                        var xss = txss.replace(/\+/g,' ');
//                        alert(xss);

                        document.getElementById("dom").innerHTML = "<a href='"+xss+"'>就让往事都随风,都随风吧</a>";
                    }
                    //试试:'><img src="#" onmouseover="alert('xss')">
                    //试试:' onclick="alert('xss')">,闭合掉就行
                

在这里插入图片描述

这里也有个JS代码,它定义了一个domxss函数。它利用 window.location.search 获取浏览器中url的内容,然后赋值给 str,经过URL解码和字符串分隔,取出URL中的参数内容,再把 “+” 替换为 “ ”(空格),赋值给 xss,最后把 xss 拼接到 a 标签中,然后写到 Id 为 dom 的 div 标签中。

跟前面的DOM不同的是,它的输入是从浏览器的URL中获取的,很像反射型XSS(get),构造的Payload跟刚才是一样的

XSS盲打后台

在这里插入图片描述
登录后台

在这里插入图片描述

posted @ 2021-07-30 17:06  1ucifer  阅读(336)  评论(0编辑  收藏  举报