php

位置:IT落伍者 >> php >> 浏览文章

phpcms问答某模块存储型xss


发布日期:2018年09月12日
 
phpcms问答某模块存储型xss

黑名单惹的祸啊


在回帖处有个编辑器功能

编辑器存在一个可以编辑源码当时第一反映就是这里肯定存在xss

果不其然但是在开始的时候测试


<script>alert()</script>

以及


<img src= onerror=alert() />

的时候发现都无法执行js代码

于是乎便上找些偏门的代码测试

当测试<form id="test"></form><button form="test" formaction="javascript:alert()">X</button>

的时候我惊讶的发现居然没过滤如图点击之后触发



当然这个还需要点击毕竟回帖的人不是每个人都会点击那怎么样才能把xss的成功率扩大呢?

别着急

在里还是有不少可以使用的代码譬如

<input onfocus=alert() autofocus> 打开页面时候触发(ie谷歌火狐有效)

除了上面这个还有很多都是通杀浏览器不一一测试仅仅拿这个证明危害



这样我们就可以广撒网捞鱼了
漏洞证明值得一提的是<input onfocus=alert() autofocus> 虽然是以onfocus来执行js但是别忘了我们还有eval可以构造<input onfocus=eval("这里是我们想执行的代码") autofocus>

来完成攻击构造好的js如下



当用户访问这篇帖子就是受害者了





不再一一去尝试了希望phpcms团队也能重视该问题


修复方案

该编辑器是基于黑名单过滤的如果实在要开启编辑源码功能建议采用白名单过滤不然最好还是关闭开放编辑源码功能的权限因为你们根本不知道跨站师会用哪些你们根本不知道的代码

这里还有一枚反射型的xss顺便提一下吧

%%<%Fscript>

上一篇:解决PHP4.0 和 PHP5.0类构造函数的兼容问题

下一篇:PHP:strtok()函数的应用