What’s my IP
- 透過
1.1.1.1', 'test') -- -
SQL injection - 再用information_schema慢慢撈出db name, table, columns, FLAG
- 輸出有長度限制,可以用substr之類的
Submit flag
- Race Condition (看source)
- packet送快一點就對了
- 裡面大概會像這樣
- source有
sleep(2)
成功機率會高一點,也可以看到就是那邊有時間差
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if ((bool) $row) {
$session['flash'] = 'You already submitted this flag.';
save_session($session);
header('Location: /index.php');
exit();
}
sleep(2);
$stmt = $pdo->prepare('INSERT INTO submit (user, flag) VALUES (?, ?)');
$stmt->bindParam(1, $user);
$stmt->bindParam(2, $flag);
if ($stmt->execute()) {
$session['flash'] = 'You successfully submit the flag.';
save_session($session);
header('Location: /index.php');
exit();
} else {
$session['flash'] = 'Submit error.';
save_session($session);
header('Location: /index.php');
exit();
}
Wargame-2021
flag1
- 封面的圖片位置是base64,用
./../../../../etc/passwd
base64 encode就可以讀取,但提示要讀取php source code1
http://127.0.0.1:58080/image.php?id=Li8uLi8uLi8uLi8uLi9ldGMvcGFzc3dk
- /proc/$(id) 是用來看某個PID下的內核的東西,位於memory裡面
- 其中 /proc/self ,是用目前的process來看,因此不同的process看的會不同
- /proc/$(id)/cwd 是當前process執行的目錄連結
- 所以可以透過 /proc/self/cwd 來連結到目前執行process的目錄 , /proc/self/cwd/include.php
flag2
### flag3
1
2
3
4
5
table: backend_user
id: 1
username: admin
password: u=479_p5jV:Fsq(2
description: The administrator ( DEVCORE{no.3_sql_injection_my_passw0rd_is_y0urs} ).
flag4
- 在image.php可以讀取/proc/mounts查看mount資訊
- 發現有
/b8ch3nd
,後台的網址http://127.0.0.1:58080/b8ck3nd/index.php
(我也不知道為什麼是/b8ck3nd/index.php),打開網址後就會redirect回首頁 - 用XFF header偽造,就可以進入登入頁面,就可以用flag3的帳密登入
flag5
- 有圖片上傳的位置
/b8ck3nd/upload.php
,上傳後會像這樣的位置http://127.0.0.1:58080/image.php?id=aHBfbTI4M2Zkdy5qcGc=
- 可以上傳php,但是要找怎麼上傳到其他地方
- 用image.php看source code,位置
/usr/share/nginx/b8ck3nd/upload.php
,rename和folder可以上傳到其他地方
- 加上rename和folder,就可以上傳到其他地方
flag6
- 上傳shell後,要怎麼RCE
- 在source code , 可以看到include.php會引入 langs/ $_SESSION[‘lang’] .php
- 這時只要將$_SESSION[‘lang’]指定為
../../../../../tmp/nice
,就會執行langs/../../../../../tmp/nice.php - 那麼在生成再上傳一個
/tmp/sess_hacked
,指定$_SESSION[‘lang’]為../../../../../tmp/nice
,再指定PHPSESSID到hacked
Comments powered by Disqus.