### 简要描述:
努力挖掘中.....
### 详细说明:
有的时候勤劳害死人啊有木有,等下回看到~~
在管理员的后台集成了数据库备份的功能,这是好事,极大的提高了bbs的易用性。
[<img src="https://images.seebug.org/upload/201402/22105004ee06582b47451f3558afc2a76a7241d3.jpg" alt="QQ图片20130222104733.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/22105004ee06582b47451f3558afc2a76a7241d3.jpg)
[<img src="https://images.seebug.org/upload/201402/22105013be13325fdf00403d936aca016d5d61f6.jpg" alt="QQ图片20130222104810.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/22105013be13325fdf00403d936aca016d5d61f6.jpg)
然后这边数据库的备份文件是任意用户可以访问并且下载之的,当时肉眼一看就能看出这个命名是多么的有规范!
看源码/app/controllers/admin/db_admin.php第61行
```
$this->load->dbutil();
$backup=$this->dbutil->backup($prefs);
$file='mysql'.time().'.sql';
if(write_file(FCPATH.'data/backup/'.$file, $backup)){
$this->session->set_flashdata('error', '备份数据库'.$file.'成功!');
redirect('admin/db_admin/backup');
```
$fiel也就是我们的数据库备份文件是一个字符串mysql加上一个unix时间戳命名的!
这被穷举起来是多么轻松的一件事(PS:轻松个蛋)
### 漏洞证明:
只要写个脚步就可以了,因为你访问一个不存在的链接是返回404,而当我们访问存在的时候是200或者304,302这些。正好burp某扩展可以帮助我们完成这些。具体过程我就不再赘述,wooyun上太多了。
[<img src="https://images.seebug.org/upload/201402/22110309955aa1aedc74e41ed8126d6c5ab826ba.jpg" alt="QQ图片20130222110231.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/22110309955aa1aedc74e41ed8126d6c5ab826ba.jpg)
这边的771就是我刚才备份的文件尝试访问
[<img src="https://images.seebug.org/upload/201402/22110408e0a74dcad9cbd7903b650deadf1a60f5.jpg" alt="QQ图片20130222110356.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201402/22110408e0a74dcad9cbd7903b650deadf1a60f5.jpg)
暂无评论