### 简要描述: 大概这是最后一次 提交这个cms的xss了。。 ### 详细说明: 黑盒几分钟就出来了。。 发表文章处。 先提交一段测试代码。 ``` <img src=x/onerror=x>onerror onxxxx<img src=x onxxxx=><x xx onxxxx=x> ``` 发现 结果只剩下了 onxxxx。 那么 其机制大概是这样的。 ``` 先过滤掉 onerror之类的危险字符串。再将 <>标签内的onxxx给过滤掉 ``` 上次我是这样绕过的 [WooYun: 程氏舞曲储存型xss (4) #2处xss](http://www.wooyun.org/bugs/wooyun-2014-060274) 如果我换成 ' 包裹住 > 会怎样呢? 提交 <img src=x ='>' onxxxx=>。 这下没过滤了。剩下的就是找个没有在白名单里的 事件了。 像这样 alert ``` <video src="xxx.xxx.xxx/a"a='>' onprogress=alert(1)> ``` [<img src="https://images.seebug.org/upload/201407/10014719993a8aa2c3cfcec64e7d234a402c06cd.jpg" alt="22.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201407/10014719993a8aa2c3cfcec64e7d234a402c06cd.jpg) (该事件测试于 谷歌浏览器) 后台getshell就很简单了, 看到/csdj/lib/Cs_Config.php的代码 ``` <?php define("Web_Name","程氏CMS3.5"); //站点名称 define("Web_Url","localhost"); //站点域名 define("Web_Path","/"); //站点路径 define("Admin_Code","aaaaaa"); //后台验证码 define("Admin_Url",""); //后台访问域名,留空为取消 define("Web_Off",0);...
### 简要描述: 大概这是最后一次 提交这个cms的xss了。。 ### 详细说明: 黑盒几分钟就出来了。。 发表文章处。 先提交一段测试代码。 ``` <img src=x/onerror=x>onerror onxxxx<img src=x onxxxx=><x xx onxxxx=x> ``` 发现 结果只剩下了 onxxxx。 那么 其机制大概是这样的。 ``` 先过滤掉 onerror之类的危险字符串。再将 <>标签内的onxxx给过滤掉 ``` 上次我是这样绕过的 [WooYun: 程氏舞曲储存型xss (4) #2处xss](http://www.wooyun.org/bugs/wooyun-2014-060274) 如果我换成 ' 包裹住 > 会怎样呢? 提交 <img src=x ='>' onxxxx=>。 这下没过滤了。剩下的就是找个没有在白名单里的 事件了。 像这样 alert ``` <video src="xxx.xxx.xxx/a"a='>' onprogress=alert(1)> ``` [<img src="https://images.seebug.org/upload/201407/10014719993a8aa2c3cfcec64e7d234a402c06cd.jpg" alt="22.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201407/10014719993a8aa2c3cfcec64e7d234a402c06cd.jpg) (该事件测试于 谷歌浏览器) 后台getshell就很简单了, 看到/csdj/lib/Cs_Config.php的代码 ``` <?php define("Web_Name","程氏CMS3.5"); //站点名称 define("Web_Url","localhost"); //站点域名 define("Web_Path","/"); //站点路径 define("Admin_Code","aaaaaa"); //后台验证码 define("Admin_Url",""); //后台访问域名,留空为取消 define("Web_Off",0); //网站开关 define("Web_Onneir","网站升级中..."); //网站关闭内容 define("Web_Mode",1); //网站运行模式 define("Html_Wjt",".htaccess"); //伪静态模式 define("Html_Index","index.html"); //主 ............. ``` 双引号,所以可以通过 {${phpinfo()}}这种格式直接执行php代码. [<img src="https://images.seebug.org/upload/201407/10014326515ba095247fc6a95090035c99e5a1a0.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201407/10014326515ba095247fc6a95090035c99e5a1a0.jpg) [<img src="https://images.seebug.org/upload/201407/100143420ac5d768fa5e5cb8fe3a1a79f1f73c01.jpg" alt="6.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201407/100143420ac5d768fa5e5cb8fe3a1a79f1f73c01.jpg) 触发xss后可以利用js提交数据getshell 此前已有实例 就不写js代码了 ### 漏洞证明: 如上所述