当前位置:   article > 正文

攻防世界--weiphp_攻防世界weiphp

攻防世界weiphp

这道题原本应该是通过.git源码泄漏获取到源码,利用工具githack,可能是环境的问题,执行完发现目录是空的

直接从网上找源码,可能比源代码的内容要多一些

GitHub - weiphpdev/weiphp5.0: WeiPHP5.0,公众号与小程序结合的最佳开发框架,,它实现一个后台同时管理和运营多个客户端(公众号,微信小程序,后续将支持支付宝小程序,百度小程序等)

进入后的页面为一个登陆框,将login改为register发现该功能被禁用了

 前台SQL注入

由于这里对title参数并没有检测,所以可以执行sql注入

 执行

/weiphp5.0/public/index.php/Material/Material/material_lists?title=123'or sleep(5)#

免登录文件上传

在网页源码中可以看到上传

 访问后显示

 定位file控制器upload_picture方法,发现有鉴权:

  1. public function upload_picture()
  2. {
  3. // TODO: 用户登录检测
  4. if (!is_login()){
  5. $return = array(
  6. 'status' => 0,
  7. 'info' => '上传失败,请先登录',
  8. 'data' => ''
  9. );
  10. return json($return);
  11. }

看到有个upload_root 方法没有鉴权,直接可以上传:

  1. public function upload_root() {
  2. $return = array(
  3. 'status' => 1,
  4. 'info' => '上传成功',
  5. 'data' => ''
  6. );
  7. /* 调用文件上传组件上传文件 */
  8. $File = D('home/File');
  9. $file_driver = strtolower(config('picture_upload_driver'));
  10. $setting = array (
  11. 'rootPath' => './' ,
  12. );
  13. $info = $File->upload($setting, config('picture_upload_driver'), config("upload_{$file_driver}_config"));
  14. // $info = $File->upload(config('download_upload'), config('picture_upload_driver'), config("upload_{$file_driver}_config"));
  15. /* 记录附件信息 */
  16. if ($info) {
  17. $return['status'] = 1;
  18. $return = array_merge($info['download'], $return);
  19. } else {
  20. $return['status'] = 0;
  21. $return['info'] = $File->getError();
  22. }
  23. /* 返回JSON数据 */
  24. return json_encode($return);
  25. }

upload_picture处可能有黑名单,文件后缀使用phtml即可绕过

其他方法
​​​​​​​攻防世界 web高手进阶区 10分题 weiphp_闵行小鱼塘-CSDN博客_weiphp漏洞 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读