[zkaq靶场]FineCMS的存储型XSS

Fine CMS 存储型xss漏洞

本地测试

安装(版本v5.3.0)

tip:这个cms需要安装在网站根目录,不能安装在子目录

然后访问install.php开始安装。

image-20210326192523387

image-20210326192547689

完成安装,访问后台。默认账户密码:admin/admin。

网站后台:提供错误日志查看功能。
image-20210326194749043

在错误日志页面,我们可以看到错误日志的存放位置:WWW/cache/errorlog/log-2021-03-26.php

image-20210326200228223

我们可以查看一下这个文件,然后输入一些内容测试一下。

在该文件的最后一行加入了测试内容

image-20210326200500337

可以发现,后台的错误日志多了一行。

我们判定,错误日志的内容读取的就是errorlog文件夹下的文件,且没有过滤。

image-20210326200526523

那么,根据推理,如果我们可以控制错误日志的文件内容,在错误日志里写入xss,那么当管理员登录后台查看错误日志时就会触发xss。

那么哪里可以将内容写入错误日志呢?

经过代码审计发现:

finecms\system\core\Codelgniter.php下的show_404方法是罪祸首,它调用了log_message()方法,log_message()调用write_log()方法,write_log()方法创建日志文件并写入错误信息。

上述过程中没有对错误信息过滤。

我们只需要通过show_404方法产生错误信息就可将错误信息写入日志文件。

访问不存在的方法或对象,出现404错误。就会触发show_404方法。

image-20210326202743028

image-20210326202757686

c和m是固定的参数名。

hello跟world是不存在的对象.

那么就可以在这里输入我们的payload。

c=hello&m=world<script>alert(1)</script>

image-20210326202956415

管理员后台查看错误日志时:

image-20210326203028436

存储型xss被触发。

然后利用xss盲打平台即可获取管理员cookie。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值