### 简要描述: startbbs某处设计不当导致可csrf添加管理员 ### 详细说明: 经过对startbbs源代码白盒分析,发现了关键部分(添加管理员+修改任意用户密码)的token设计存在缺陷。 为了防止是token随机生成,我还特地去官网再下了几次源码回来。得到的结果都一样; token值如下: [<img src="https://images.seebug.org/upload/201312/29195300df9ae524453ffc7802ba75b4e744264c.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29195300df9ae524453ffc7802ba75b4e744264c.jpg) token值遍布以下文件当中: [<img src="https://images.seebug.org/upload/201312/29195324cf34fd42e1256c8bfdaf84d4fc568085.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29195324cf34fd42e1256c8bfdaf84d4fc568085.jpg) 最新下载的源码包: [<img src="https://images.seebug.org/upload/201312/29195405784b1acf2cea04f84ade7fcf1c663200.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29195405784b1acf2cea04f84ade7fcf1c663200.jpg) token值对比,依然是一样的: [<img...
### 简要描述: startbbs某处设计不当导致可csrf添加管理员 ### 详细说明: 经过对startbbs源代码白盒分析,发现了关键部分(添加管理员+修改任意用户密码)的token设计存在缺陷。 为了防止是token随机生成,我还特地去官网再下了几次源码回来。得到的结果都一样; token值如下: [<img src="https://images.seebug.org/upload/201312/29195300df9ae524453ffc7802ba75b4e744264c.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29195300df9ae524453ffc7802ba75b4e744264c.jpg) token值遍布以下文件当中: [<img src="https://images.seebug.org/upload/201312/29195324cf34fd42e1256c8bfdaf84d4fc568085.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29195324cf34fd42e1256c8bfdaf84d4fc568085.jpg) 最新下载的源码包: [<img src="https://images.seebug.org/upload/201312/29195405784b1acf2cea04f84ade7fcf1c663200.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29195405784b1acf2cea04f84ade7fcf1c663200.jpg) token值对比,依然是一样的: [<img src="https://images.seebug.org/upload/201312/29195523a04588de811a3c133e85d31daa704062.jpg" alt="4.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29195523a04588de811a3c133e85d31daa704062.jpg) 估计是开发人员偷懒了吧。 既然知道是这么样的结果,对源码分析就不难构造添加管理员的代码了: 访问poc之前,我的用户组是(2)普通会员 [<img src="https://images.seebug.org/upload/201312/29195637af4715f7be37b1aac744a5456bdae87d.jpg" alt="5.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29195637af4715f7be37b1aac744a5456bdae87d.jpg) 访问poc之后: [<img src="https://images.seebug.org/upload/201312/29200228220281743e03fe00e7315cb0a92bdbe6.jpg" alt="6.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29200228220281743e03fe00e7315cb0a92bdbe6.jpg) 用户已经从普通会员转换成管理员了; [<img src="https://images.seebug.org/upload/201312/2920031308a0998f89152c0fb05e497460c0698e.jpg" alt="7.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/2920031308a0998f89152c0fb05e497460c0698e.jpg) poc: ``` None ``` 值得一提的是form表单提交地址和用户id一定得提前获取,所幸的是这两点我们都可以轻易获得。 form表单提交地址:index.php/admin/users/edit/4 4就是你的用户id了。 用户id可以访问前台的个人主页得到: [<img src="https://images.seebug.org/upload/201312/29201005c266794e50854299d16420c8edde1f5a.jpg" alt="8.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201312/29201005c266794e50854299d16420c8edde1f5a.jpg) ### 漏洞证明: 都在详细说明里头了。。 修改任意用户密码只需要稍微修改下表单就可以了。这里就不演示了。