### 简要描述: 某处任意删除导致花式getshell~ 来个雷好不好, -_-! ### 详细说明: 在用户上传头像的地方,已经上传了的用户如果再修改头像会删除之前的头像,相关代码如下: [<img src="https://images.seebug.org/upload/201506/031207378a7354d2830808a3061e0731f13bc7fd.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/031207378a7354d2830808a3061e0731f13bc7fd.png) 在WOOYUN看到之前有人提交过,忽略了,但是程序里面却加上了验证代码, [WooYun: YXcms最新版任意文件删除漏洞](http://www.wooyun.org/bugs/wooyun-2014-063500) 但是没有用...没有循环替换,导致可以突破,如下图: [<img src="https://images.seebug.org/upload/201506/03120844ee6a368737862a142f60cde372a1e766.png" alt="2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/03120844ee6a368737862a142f60cde372a1e766.png) 调试信息是我自己加的代码输出的, 可以看到当前上级目录的1.txt已经被删除, [<img src="https://images.seebug.org/upload/201506/0312093464730e9fcfe46c3b30344afe2c57f32e.png" alt="3.png" width="600"...
### 简要描述: 某处任意删除导致花式getshell~ 来个雷好不好, -_-! ### 详细说明: 在用户上传头像的地方,已经上传了的用户如果再修改头像会删除之前的头像,相关代码如下: [<img src="https://images.seebug.org/upload/201506/031207378a7354d2830808a3061e0731f13bc7fd.png" alt="1.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/031207378a7354d2830808a3061e0731f13bc7fd.png) 在WOOYUN看到之前有人提交过,忽略了,但是程序里面却加上了验证代码, [WooYun: YXcms最新版任意文件删除漏洞](http://www.wooyun.org/bugs/wooyun-2014-063500) 但是没有用...没有循环替换,导致可以突破,如下图: [<img src="https://images.seebug.org/upload/201506/03120844ee6a368737862a142f60cde372a1e766.png" alt="2.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/03120844ee6a368737862a142f60cde372a1e766.png) 调试信息是我自己加的代码输出的, 可以看到当前上级目录的1.txt已经被删除, [<img src="https://images.seebug.org/upload/201506/0312093464730e9fcfe46c3b30344afe2c57f32e.png" alt="3.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/0312093464730e9fcfe46c3b30344afe2c57f32e.png) 然后我们开始花式getshell,首先删除重装锁定~ [<img src="https://images.seebug.org/upload/201506/03121006bef419ef12f9a265088ec086a3bc0651.png" alt="4.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/03121006bef419ef12f9a265088ec086a3bc0651.png) 重装以后在后台可以执行SQL语句,导致getshell#1 [<img src="https://images.seebug.org/upload/201506/03121043446b9c1cfda07db7b9067ba1d4d924f2.png" alt="5.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/03121043446b9c1cfda07db7b9067ba1d4d924f2.png) 其次可以编辑前台模板... [<img src="https://images.seebug.org/upload/201506/031211092b444c1b27058e5afdfaf9f53850efd1.png" alt="6.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/031211092b444c1b27058e5afdfaf9f53850efd1.png) 用同样的方式进行绕过,切换到根目录的1.php,PHP报错提示没有这个文件, [<img src="https://images.seebug.org/upload/201506/03121150eef9f62362c623cb1d34a767b7f671a7.png" alt="7.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/03121150eef9f62362c623cb1d34a767b7f671a7.png) 没有关系... 我们删掉错误代码,输入php代码,点击保存, [<img src="https://images.seebug.org/upload/201506/031212177a1b38b166491ea2d3e15846a61dddb7.png" alt="8.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/031212177a1b38b166491ea2d3e15846a61dddb7.png) 搞定getshell#2 [<img src="https://images.seebug.org/upload/201506/03121233425667e39cf319fe21fd9bdc706bcf5e.png" alt="9.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/03121233425667e39cf319fe21fd9bdc706bcf5e.png) ### 漏洞证明: [<img src="https://images.seebug.org/upload/201506/03121233425667e39cf319fe21fd9bdc706bcf5e.png" alt="9.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/03121233425667e39cf319fe21fd9bdc706bcf5e.png) [<img src="https://images.seebug.org/upload/201506/03121043446b9c1cfda07db7b9067ba1d4d924f2.png" alt="5.png" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201506/03121043446b9c1cfda07db7b9067ba1d4d924f2.png)