BUUOJ WEB(1)
[ACTF2020 新生赛]Include
开启环境之后点击tips
可以在url中看到格式为:
?file=flag.php
加上题目是include,可以猜测是文件包含漏洞
http://a291bdf1-28ba-406c-8e0a-ca2092423c97.node3.buuoj.cn/?file=../../../../../etc/passwd
访问之
确实是文件包含,但是我不知道flag文件叫啥名字
尝试了一下在根目录下读取flag和flag.txt,无果,使用php伪协议尝试读取flag.php文件
base64解码后获取flag
[ACTF2020 新生赛]Exec
看题目应该是命令执行类型的
ping 一下127.0.0.1,然后尝试使用 | 来执行命令
使用 127.0.0.1 | ls
发现当前文件夹下是index.php文件,一般来说这种题目的flag都在根目录下,127.0.0.1 | ls / 查看根目录文件
使用 127.0.0.1 | cat /flag 查看flag
[极客大挑战 2019]BuyFlag
不知道为啥,这道题因为我自己本机环境的问题,总是没有正确的返回结果
简单说一下
<!-- ~~~post money and password~~~ if (isset($_POST['password'])) { $password = $_POST['password']; if (is_numeric($password)) { echo "password can't be number</br>"; }elseif ($password == 404) { echo "Password Right!</br>"; } } -->
可以看到源代码里面有提示,抓包的时候cookie里面有user=0,猜测需要是CQIT的学生,cookie验证强度太低,修改user=1
对于源代码里面的比较,使用了is_numeric,有漏洞的判断函数,我们可以在404前面或者后面添加%00进行绕过,另外就是money的值,这里我就没有返回正确的值了,看其他师傅的博客,可以知道这里不能输入超过8位的数字,猜测服务器端使用的是strcmp函数进行比较,使用money[]=a进行绕过即可,就能拿到flag了。
[极客大挑战 2019]Upload
界面很漂亮
文件上传漏洞
上传chopper.php抓包,返回包里面有Not image!的错误提示
将Content-Type修改为:image/gif,返回的错误信息变成了NOT!php!
应该是因为我们上传的文件名是php结尾的,使用%00截断
截断之后提示我们上传的文件中包含了<?
实体编码解码之后可以看到是:
说明不能包含<?
使用javascript上传木马进行绕过
又出现新的错误信息了:(
添加GIF89a文件头
这次总算是上传成功了,但是好像访问不到?
重新修改上传的文件名
phtml后缀上传成功,此处的黑名单过滤不够完全,然后我们去访问upload文件夹下的chopper.phtml
链接木马