[安洵杯 2019]不是文件上传 文件上传的注入

进入题目传了一个jpg图片上去

发现文件名被重命名了,但是给了我们一个path路径(难道就是一个绕过题?这么轻松就会告诉你路径,跟题目有点不符)

啪啪打脸,各个地方抓一下包show.php,upload.php以及show.phpdelete_all=true,按照经验我们应该在某个地方是可以获取到这些源码的,但是我这里找了很久根本找不到……,只能再一次求助别人的wp……

没想到的是!!!

根据这条信息去github找这个出题人

获得源码,好好代码审计了(不愧是锻炼搜索能力,获得源码的方式长见识了)

<?php
class helper {
	protected $folder = "pic/";
	protected $ifview = False; 
	protected $config = "config.txt";
	// The function is not yet perfect, it is not open yet.

	public function upload($input="file")
	{
		$fileinfo = $this->getfile($input);
		$array = array();
		$array["title"] = $fileinfo['title'];//没有后缀的文件名(无过滤)
		$array["filename"] = $fileinfo['filename'];//随机数.后缀
		$array["ext"] = $fileinfo['ext'];//后缀
		$array["path"] = $fileinfo['path'];//pic/随机数.后缀
		$img_ext = getimagesize($_FILES[$input]["tmp_name"]);//getimagesize返回上传文件的大小以及相关信息

		$my_ext = array("width"=>$img_ext[0],"height"=>$img_ext[1]);
		$array["attr"] = serialize($my_ext);//序列化宽度和长度
		$id = $this->save($array);
		if ($id == 0){
			die("Something wrong!");
		}
		echo "<br>";
		echo "<p>Your images is uploaded successfully. And your image's id is $id.</p>";
	}

	public fu
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值