XSS即跨站脚本,发生在目标网站中目标用户的浏览器层面上,当用户的浏览器渲染整个HTML文档的过程中出现不被预期脚本指令并执行,XSS就会发生。
以Catfish(鲶鱼)cms为例,进行实验的操作,探讨XSS的漏洞
实验场景:wamp一键安装包,Catfish cms
下载地址:https://www.jb51.net/codes/516377.html
在wamp上安装Catfish cms,注册新用户,进行代码审计
1.导致重装的漏洞
漏洞代码
位置,application/user/controller/Index.php中的编辑头像的touxiang函数
unlink
当上传新头像的时候,使用unlink函数删除原来的图片,同时对指定数据库的数据进行更新
其中POST的avatar参数是我们可控的,而且没有对url做任何限制,这样就产生了重装漏洞
漏洞利用
编辑头像
上传图片抓包,更改上传install.lock文件
上传install.lock文件
F12查看源代码,发现上传成功
源代码指向install文件当我们再次上传新的图片时,install.lock文件就会被删除,进而导致重装
上传新的图片
我们重新进行访问的时候,cms会被重装
重装
2.用户评论处的XSS漏洞
漏洞代码
位置:application/index/controller/Index.php,pinglun函数
评论对修改资料和提交留言处都进行了htmlspecialchars处理,而评论处对POST数据没有进行处理,导致产生XSS漏洞
漏洞利用
使用XSS漏洞平台,进行利用,以方便我们的实验
比如这个:http://xsspt.com/index.php?do=login
在用户评论处提交任意评论,抓包后进行修改
我们使用XSS平台的这个代码
POC代码
修改提交
提交后,管理员进行后台的登录,我们来观察XSS平台的变化
登录
获取到cookie信息
可以清楚看到我们获取到了cookie的信息
我们拿着cookie进行利用,以管理员身份登录到cms后台
因为是实验操作,管理员此时在Google浏览器上登录,我们模拟攻击者在火狐浏览器上登录,以区分管理员和攻击者
在后台登录出进行修改POST数据包
修改请求头
数据包的请求头严格和XSS平台接受的数据保持一致
提交
返回正文
查看
进入后台
参考链接:
https://www.cnblogs.com/test404/p/6683299.html?utm_source=itdadao&utm_medium=referral










网友评论