-------薇搬运,单以内化------CTFSHOW:36D杯的 ALL_INFO_U_WANT ---文件上传-phpinfo包含-日志包含-临时文件包含-Linux查找文件内容命令

参考自:https://www.gem-love.com/ctf/2283.html

参考:https://www.gem-love.com/ctf/2283.html

一、自己做:

到时候,自己再开环境再做一遍。

先看了WP。。弄到了提示:
phpinfo()看了,
diabled_functions,open_basedir都没有什么东西,

<?php
error_reporting(0);

//give you all information you want
if (isset($_GET['all_info_i_want'])) {
    phpinfo();
}

if (isset($_GET['file'])) {
    $file = "/var/www/html/" . $_GET['file'];
    //really baby include
    include($file);
}

?>

拼接../../../../../flag。是假的falg。

flag{this_is_fake_flag_realflag_is_in_/etc_find_it_by_yourself} 

/etc下面去找,这就需要扫描目录了,但是题目给的hint又是不用扫目录,

那么既然这样包含日志看看,
包含了, 没有反应,,

all_info_u_want.php?file=../../../../../var/log/apache2/access.log

不对,,,

二、学到的:

三、学习WP

这个题的 session.upload_progress.enalbed是关闭的,如果是开启的化,也可以用条件竞争session。

1. 预期解 1 ---- 包含日志文件

。。这个要抓包,,看htpp返回头中的header得知是ngix。
然后?file=../../../../../var/log/nginx/access.log
然后就可以拿啥了。试试看:
但是url传参会 进行编码,然后就不行,
在这里插入图片描述
然后可以在User-Agent:这个传,在后面添加就好。

在这里插入图片描述

2. 预期解 2 — 包含临时文件,

常规的包含临时文件的方法有2:

  1. 条件竞争,不断上传,然后包含。
  2. 利用 PHP7 的 segment fault

但是本题都不适用,怎么包含临时文件呢???

在这里插入图片描述

PHP会在脚本执行结束后删掉临时文件,而 段错误方法就是让PHP执行突然中止,这样临时文件就保留了。

既然 " PHP会在 脚本执行结束后删掉临时文件 ", 不让PHP的脚本执行结束,这样不就行了嘛?,只要自身包含自身就会进入死循环中。 死循环 要么被用户打断,要么被nginx超时掉,PHP 执行没有结束,临时文件不就 得以保存了吗?

这个自己包含自己,总是进入自己哪里就是死循环了。我们访问all_info_u_want.php,然后include 又是all_info_u_want.php,然后就进入了死循环了。

另外,可以通过 phpinfo() 来查看 临时文件的位置,带上 all_info_i_awnt 参数打开 phpinfo ,然后开始自身包含,写个上传表单:

<html>
<form action="http://5e66626f-8703-41ee-ae70-0a6446a94440.challenge.ctf.show:8080/all_info_u_want.php?file=all_info_u_want.php&all_info_i_want" method="post" enctype="multipart/form-data">
	<input type="file" name="filename">
	<input type="submit" value= "submit">
</form>
</body>
</html>

手动停下就好了。

/tmp/phphdpIOc

在这里插入图片描述不好找flag啊。
在这里插入图片描述

linux命令考察:

文件名不是flag。那就 找文件的内容。:

find /etc -name "*" | xargs grep "flag{"

就找到了flag了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值