赞
踩
这道题原本应该是通过.git源码泄漏获取到源码,利用工具githack,可能是环境的问题,执行完发现目录是空的
直接从网上找源码,可能比源代码的内容要多一些
进入后的页面为一个登陆框,将login改为register发现该功能被禁用了
由于这里对title参数并没有检测,所以可以执行sql注入
执行
/weiphp5.0/public/index.php/Material/Material/material_lists?title=123'or sleep(5)#
访问后显示
定位file控制器upload_picture方法,发现有鉴权:
- public function upload_picture()
- {
- // TODO: 用户登录检测
- if (!is_login()){
- $return = array(
- 'status' => 0,
- 'info' => '上传失败,请先登录',
- 'data' => ''
- );
- return json($return);
- }
看到有个upload_root 方法没有鉴权,直接可以上传:
- public function upload_root() {
- $return = array(
- 'status' => 1,
- 'info' => '上传成功',
- 'data' => ''
- );
- /* 调用文件上传组件上传文件 */
- $File = D('home/File');
- $file_driver = strtolower(config('picture_upload_driver'));
- $setting = array (
- 'rootPath' => './' ,
- );
- $info = $File->upload($setting, config('picture_upload_driver'), config("upload_{$file_driver}_config"));
- // $info = $File->upload(config('download_upload'), config('picture_upload_driver'), config("upload_{$file_driver}_config"));
- /* 记录附件信息 */
- if ($info) {
- $return['status'] = 1;
- $return = array_merge($info['download'], $return);
- } else {
- $return['status'] = 0;
- $return['info'] = $File->getError();
- }
- /* 返回JSON数据 */
- return json_encode($return);
-
- }
upload_picture处可能有黑名单,文件后缀使用phtml即可绕过
其他方法
攻防世界 web高手进阶区 10分题 weiphp_闵行小鱼塘-CSDN博客_weiphp漏洞
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。