一、环境
在github上找DVWA的靶机环境
DVWA存储库
二、复现
先将其安全等级改为低
然后点击存储型的xss,先随便写几条看看现象
可以看到我们写的都展示在了下面的框中
看看源码,分析在存储时的漏洞
我们可以看到,在对数据插入的时候,我们对特殊符号进行了过滤,无法直接进行插入,放弃这一处
stripslashes函数:用于移除反斜杠(
\
),防止魔术开关开启,在下面再一次的过滤中对(\)转移为本身mysql_real_escape_string函数:用于对字符串进行 MySQL 数据库安全地转义,以防止 SQL 注入攻击。比如对引号加上\以进行过滤
数据最后插入显示到index.php
我们再看看在数据库查询出来时对其数据是否进行过滤
可以看到查询出来并没有对其进行过滤,而是直接进行插入的,那么我们就可以将我们的恶意代码试着插入进去查看一下是否可行
ok,成功执行
之后用户每访问一次便弹窗一次
发现漏洞,获取网站的Cookie
Cookie有什么用呢?只要我们得到了管理员的Cookie,那么我们就可以免密登录到管理员的后台
现在我们可以确定我们的恶意代码可以进行植入,
我们使用kali的插件beef,来帮助我们获取网站的Cookie
植入后,我们去看看我们的beef控制台
得到了我们想要的Cookie
那么我们将原有的Cookie删掉,然后用窃取到的Cookie进行测试,是否可以免密登录
将我们的cookie写上后,网址改成index.php就可以直接登录进去了
beef工具中还有很多信息可以获取