環境
- THM上のAttack Box
- Firefox 155.0.1 (64-bit)
解法
- Lab Machineのページにアクセス
- チェスの一手詰めであることを確認
- ルークを8行目に移動させると詰みになるものの、移動させても「"I'll shut down your PC if you play that.」というポップアップが出て妨害される
- ソースコードを確認
- ポップアップのメッセージで検索するとヒットするため、表示されるJavaScriptで完結しているものと推測
- その中にある「app.js」を開き、具体的な挙動を確認する
- flagを表示する関数があることやポップアップを表示させる関数「preMoveCheck」があることを確認
- 関数「preMoveCheck」内のポップアップ表示はif文がマッチしたら起動することを確認
- firefoxの開発者ツール機能「Add script override」を利用し、関数「preMoveCheck」を無効化する(保存したjsファイルにてif文の引数をfalseにしてしまう)
- ページをリロードし、再度ルークを動かす
- flagが表示される
学んだこと
- FirefoxのJs書き換え機能「Add script override」
記録
感想
- 本来はBurpsuiteを使ってクライアント側とサーバー側の検証の違いを突くものらしい
- 改めてBurpsuiteを使ってリトライする
実際にやったこと
-
26/09/13 16:41 スタート
-
おすすめに出てきたのでなんとなくトライ
-
よくわからんがとりあえずLab MachineのIPにアクセスしてみる
-
チェスの一手詰めらしい
-
ただ、盤面にあるのはポーンとキングとクイーン?
-
白を動かして勝たせる
-
どれ使っても距離ありすぎて無理だよな
-
動かし方を調べる。キングとクイーンじゃなくてキングとルークだった
-
これをどうにかしないといけないのはわかった
-
「/usr/lib32」もキーワード?
-
ソースコードを確認するも、直接解除につながりそうなものは見つからない
-
開発者ツールでデータ送信時の挙動を見たら何かわかるかもと思うけど何も出なかった
-
相手のパソコンにsshでいけるか試してみる
-
なんらかの方法でLab Machineにアクセスし、あのプログラムを止めるんだと思うんだけどな~
-
ポートスキャンで穴探す?
-
22と80が開いていそう
nmap (宛先IP)
nmap -sV -p 22 (宛先IP)
-
ソースコード内に「I'll shut down your PC if you play that」があったことから、やっぱりソースコード内に手がかりがあるのではと再確認
-
なんとなく「js/app.js」を押したらチェスのコードっぽいのに飛んだ
-
flagで検索したところ、関数「showFlag」やそれを呼び出す関数「finalize」が見つかった。こいつらを起動させればいいのかな?

-
data.flagの値をtrueにすればいい?
-
わからなくなったので、JavaScriptを書き換える方法を調べる
firefoxの機能「Add script override 」で無理やりポップアップをオフにする

正解:THM{cl13nt_s1d3_ch3ckm4t3}
資料
- https://pojican.com/chess_rules_and_moves/354/
- https://zenn.dev/jiroken/articles/b5bb20bd11f77d
- https://blog.hamayanhamayan.com/entry/2021/12/18/132420
- https://zenn.dev/nori0__/scraps/dba52b7a6a650b
- https://sologaku.com/webbrowser/chrome-javascript-execution/
- https://www.linkedin.com/posts/raghunandan99_fools-mate-activity-7497640170322702336-zrNS












