iPhoneでHackTheBox InviteChallenge
HackTheBoxのInvite ChallengeをiPhoneでクリアしていきます。
どこに需要があるんだこれ。って自分でも思うんですけど便利なiPhoneアプリの紹介とPCが使えない方でも簡単な勉強できますよって意味を込めて。
HackTheBoxのChallengeは本記事でも紹介しますiSHを使ってできるものも多くあります。出先の隙間時間に遊んでみるのもいいかと思います。
それでは本題に。
Join now!
まずはHackTheBoxのユーザ登録ページにアクセスします。
Invite Codeがないと登録できません。
ページ下部のhelpをクリックすると、コンソールを見なさいと書いてあります。
Inspect
Safariではコンソールを確認できませんので、Inspect Browserというアプリを使います。(以下リンクより)
Inspect Browser
有料のアプリですが、webページの解析機能で不便することはありません。
Inspectで先程のページを開いてコンソールを確認した画面は以下のようになりました。
コンソール下部に表示されているメッセージからJavaScript ファイルを探れば良いと判ります。
Inspectはページが読み込んでいるJavaScript ファイルも参照できます。
JavaScriptファイルにinviteapi.min.jsというものがあります。中身を見てみましょう。
functionの中にmakeInviteCodeを発見!
使えそうなのでconsoleで実行!
makeInviteCode()
レスポンスが来ました。
Dataはrot13で暗号化されているようです。
復号してみましょう。
Pythonista
レスポンスデータの復号スクリプトをPythonで書きます。iPhoneでも手軽にpythonプログラミング、デバッグ、ビルドもできるアプリにPythonista があります。
Pythonista
Rot13(シーザー暗号)をエンコードはPython組み込みのcodecsで可能です。以下のようなスクリプトを組みました。
import codecs
string = 'Va beqre gb trarengr gur vaivgr pbqr, znxr n CBFG erdhrfg gb /ncv/vaivgr/trarengr'
data = codecs.encode(string,'rot13')
print(data)
メッセージが表示されました。
コードを入手するには/api/invite/generateにPOSTでリクエストを送るようです。
iSH
任意のurlにリクエストを送るのに、Linux系であればターミナルですぐに行えますが、iPhoneにはデフォルトではシェルがありません。
iPhoneでもシェルを使えるようにするにはTestFlight経由でインストールするiSHをダウンロードします。
詳細については以下の記事を参照してください。
「Linux shell for iOS」iPhoneで動かすシェルが予想以上に面白かった
iSHを開いて以下のコマンドを実行します。
curl -XPOST https://www.hackthebox
.eu/api/invite/generate
レスポンスを見るとコードが返ってきていますが、format:encodedとなっています。
Base64でエンコードされているようです。
デコードするためのスクリプトをrot13の時と同様、Pythonistaにて実装し実行します。
import base64
string = 'QlRETVEtTVpSQ0wtQVJQUEUtUE5aS1YtV1NFSEk='
code = base64.b64decode(string)
print(code)
InviteCodeを入手できました。
お疲れ様でした。
おわりに
わざわざiPhone でやることでもないだろうにやってみました。
iPhone のアプリにも優良なアプリが多数あります。
HackTheBoxのChallengeにはSQLInjectionを主体とするもの、Webのソースコードを解析していくもの、Pythonによるスクリプトで課題をクリアするものなど、本記事で使用したアプリが活躍する場面多くあります。
ぜひ試してみてください!
Author And Source
この問題について(iPhoneでHackTheBox InviteChallenge), 我々は、より多くの情報をここで見つけました https://qiita.com/bananamilksec/items/6d9584d17039f383acf8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .