cmseasy某处点击触发xss

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

### 简要描述: 点击触发,鸡肋一些。 ### 详细说明: cmseasy是一款轻型cms,虽然这么说,但它也有bbs功能,其中bbs发帖处就有一个富文本框。 但最新版的cmseasy过滤函数非常厉害,形式类似于会在敏感代码里加“<x>”,但cmseasy的规则更加严格,过滤了style和expression。看下图: [<img src="https://images.seebug.org/upload/201403/28192701282dc71113a21a53cebf838f90fe67bf.jpg" alt="25.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201403/28192701282dc71113a21a53cebf838f90fe67bf.jpg) 但它依旧是没有处理好伪协议的部分。因为a和href没有过滤(也不可能过滤),所以我们可以借助href=javascript:xxx来执行javascript。但我们看到,$ra1 = array('javascript'这里直接就过滤了javascript这个关键词,怎么办? 读到这里,大家应该很快就能反应过来,当然是用字符编码。对,因为javascript是在href这个属性中的,所以我们可以用html实体替换。比如用&#114;替换r。这样: ``` <a href=javasc&#114;ipt:alert(document.cookie)>click me</a> ``` 但我们再读源码: ``` for ($i = 0; $i < strlen($search); $i++) { $val = preg_replace('/(&#[xX]0{0,8}'.dechex(ord($search[$i])).';?)/i', $search[$i], $val); $val = preg_replace('/(&#0{0,8}'.ord($search[$i]).';?)/', $search[$i], $val); } ```...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息