XSS漏洞分析
一、安装配置DVWA环境
1、安装PHP集成环境——phpstudy
并启动apache和mysql。
2、安装DVWA
把下载好的dvwa安装包解压放到C:\phpstudy_pro\WWW文件夹下
打开config文件夹,打开config.inc.php,修改’db_password’为root。
3、登录DVWA
在浏览器输入http://192.168.74.145/DVWA-master/login.php(建议使用火狐浏览器)
Username:admin,Password:password.
二、XSS漏洞分析
1、反射型XSS漏洞
(1)首先安全级别选择为LOW级别
输入XSS显示Hello xss
输入,点击确定,这时说明这个网站可以进行XSS攻击
获取cookie
在C:\phpstudy_pro\WWW文件夹下创建cookie.php和cookie.txt
cookie.php中输入下面的代码
<?php $cookie = $_GET['cookie']; file_put_contents('cookie.txt',$cookie) ?>我们输入
,就可以得到要攻击的人cookie信息
**
(2)Medium级别
输入,点击确定
发现已经失效,无法正常弹窗,
<scr
输入<scr
,点击确定我们尝试嵌套,大小写,发现都是失效的
但是能够插入xss代码的标签并不只是
输入 <img
src=x οnerrοr=alert(‘xss’)>,点击确定
onerror事件会在文档或图像加载过程中发生错误时被触发,应为src=x本事就是一个错误代码,所以触发事件执行
还有标签同样可以,输入<iframe οnlοad=alert(‘xss’)>,点击确定
标签可以在一个html代码中嵌入另一个html内容onload 是js的一个事件,事件会在页面加载完成后,立即发生,同时执行被调用的程序。加载页面时,触发onload事件。
(4)接下来我们选择Impossible等级的XSS,当然这个等级是绝对安全的
输入什么就会输出什么。
2、存储型XSS漏洞
首先,我们选择LOW等级,点击出现如图所示,是留言板性质的
我们先来尝试输入
发现输入不完整,查看源代码发现后台的输入框限制了长度
view Source查看源代码
(2)Medium级别
在Message表格中写入,发现如下图
发现
(3)High级别
在Message处尝试输入
我们又遇到了meddiem的问题:
发现name已经完全过滤了
这时我们采取新办法,我们在name中输入 <img src=x οnerrοr=alert(‘xss’)>
发现成功绕过
(4)将DVWA的级别设置为Impossible
分析源码可以看到,对两个参数都做了html实体转义,无法利用xss
3、DOM型XSS漏洞