投稿日

by

カテゴリー

HackAllの解説的な何か

https://hackall.tech/

UserNameは打たなくても進めるようです

あとこの解説はほとんどがChromeベースです

Level1

いつも通り右クリックメニューからソースを見てみましょう

めっちゃ堂々と書いてありますね

password

Level2

なんかソースを見たらbase64の文字列がありますね

atob(“string”)はbase64から文字列へ変換する物です

つまりブラウザのコンソールでこれを実行すれば良いわけです

コンソールは基本F12を押してコンソール(console)を押したら表示されます

つまりパスワードは以下の物です

Level3

ヒント(Forgot Password?)を押してみましょう

ASCIIで「4D 61 74 65 72 69 61 6C 69 7A 65」と出てきます

つまり「4D 61 74 65 72 69 61 6C 69 7A 65」を文字列に何らかの方法で変換すれば良いのです
文字コード表見るとかツール使うとかするだけです

答え

Level4

UserAgentですね
簡単ですねー
変えるか下のボタンから見てください

又はコンソールでコマンドを実行しても見れます

Level5

UserAgentを「HackAll」に変えるそうです

Chromeで一番有名だと思うやり方はネットワーク状態から変える方法だと思います

ユーザーエージェントからカスタムでHackAllに変更

Firefoxはabout:configから変えれます
検索バーにgeneral.useragent.overrideを入力→文字列→+→HackAll
終わったら右のゴミ箱ボタンから消しておきましょう

そしてパスワードはグローバルipアドレスです
Cloudflareを使用してるサイトでは/cdn-cgi/trace/から確認できます
(リンク先は「tmyt105.com」の物)

答え

Level6

Cookieの[UserID]に「hackar_1285」を入れるそうです
開発者ツールのアプリケーションorストレージから作成できます

Chrome
行の画像のとこを右クリックして新たに追加できます

Firefox
既存の行を右クリックして追加できます
パスワード

Level7

ネットワークタブを見ましょう

x-hackall7-passwdってのがありますね

Level8

hackall.techのTXTレコードを調べれば良いそうです

nslookupコマンドとかツールを使いましょう

答え

Level9

2の10000乗の最後の8桁らしいです
Googleで調べる→Google Hackingとか書いてあったので調べたら
2の10000乗 ゆっくり霊夢の読み上げ」とか言う意味不明な動画があったので貼っときます

答え

Level10

やっと1段階くらい終わりました!!
お疲れ様です!!

右クリックメニューの項目が少ないのは怪しいけど…

ソースを見てみたら良いことあるかな…?

(続きはソース)

Level10(続き)

ちょっと本家のサイト風にしてみました

因みにjsで見える見えないしてるだけだからソースからなら見えるけどそんな人はいないと信じたい
まあそんなどうでもいい話はよくて本編です
右クリックメニューの項目が少ないので怪しいですね
ソースを見てみてください
基本view-source:をつけると見えます

Level11

?page=login.php
怪しげなパラメータがありますね
ここをindex.phpにすると…?

答え

Level12

本当はを送るんだろうけど…
0でもいけます
もしくはBurpなどでパスワードを””で送る

Level13

特定のZIpファイルのパスワードを解除します(ツールや総当たりを使用)


(HackAll v3, Level 13)

UserName:PassWord(MD5)
= isaac:0f359740bd1cda994f8b55330c86d845

MD5で暗号化されてそうなのでツール系で復号化

この問題だけユーザー名の入力が必須です

ユーザー名と答え

Level14

Torネットワークで接続元を偽装して更にUAを「HackAll」にします

Cookieのhackall_sessionを移行することでブラウザ間の引き継ぎはできます

Password:UAがHackAllで且つTor接続なら何でもOK

Level15

ブラウザだとリダイレクト後のbodyが見れないのでツールを使いましょう

適当に調べたらBurpって言うのが出たので使ってみました
Open BrowserしたらTorみたいに引き継いで適当にパスワード送ったらProxyにPOST/level15があるから
Ctrl(command)+RでRepeaterに投げつける
左下のusername=&password=***&btn_login=

username=&password=a%00&btn_login=に置き換える

上のSend!!!!

そうするとなんか返ってくる

因みにこの問題解くのに1日以上かかった(BAKA)

答え

Level16+Level17

総当たりですね。うん。ツール使ってください。

速度は最大1秒につき10リクエストらしいです

さっきのBurpSuiteのIntruderでやりました
16は0000~9999

17は辞書攻撃です

Level18

80桁の合成数
4113123089690626656842125094800510539664
0805366178123028001617187226097369970881
の素因数のうち、最も小さいものがパスワードだそうです

10分以上かかった()

Level19

くっそ難しかったです

まずはソースを見ましょう。

明らかな難読化されたJavaScriptがありますね

めんどくさいのでツールできれいにしてじっくり見てみましょう
https://www.10bestdesign.com/dirtymarkup/js/
みるとCheck()関数の中に怪しい物が入ってますね
どうやらXを求めればいいらしいです
ではどうやって求めるかって?
Firefoxのデバッガータブを使いましょう
おっと再読込したら止まったね

これを使ってるのでしょうかね
ブレークポイント

消しときましょう

そんで本題のXはどうやって求めるかというとブレークポイントを使います

こ↑こ↓ のXの計算が終わったところにブレークポイントを追加しましょう

そうするとブレークポイントでとまって右のスコープで各変数の値が見れるようになります
後はX=の中身をいれるだけです

Chromeでやる方法

このソースの一番右のとこを押す

そして再生

Level19のCheck()のこの辺で止める

これを解除する

適当なパスワードを入れて送る

そうするとブレークポイントで止まるので

範囲のローカルに返ってくる

別回答

?add=[password]をつけても進めそうですね

なので

Level20

今のところない上にそもそも解説禁止


終わりに

結構楽しかったです。

ActiveTK氏のX

最終問題はまだ公開されてないっぽいので