攻防世界--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方法,发现有鉴权:

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漏洞 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值