pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限
この記事では、サイトの25番目のタスクを解決します pwnable.kr.

組織情報特に、情報とコンピュータ セキュリティのあらゆる分野で何か新しいことを学び、発展させたいと考えている人のために、次のカテゴリについて書き、話します。

  • PWN;
  • 暗号化 (クリプト);
  • ネットワーク技術 (ネットワーク);
  • リバース (リバースエンジニアリング);
  • ステガノグラフィー (ステガノ);
  • WEB の脆弱性の検索と悪用。

これに加えて、コンピューターフォレンジック、マルウェアとファームウェアの分析、ワイヤレスネットワークとローカルエリアネットワークへの攻撃、ペネトレーションテストの実施、エクスプロイトの作成における私の経験を共有します。

新しい記事、ソフトウェア、その他の情報を知ることができるように、 テレグラムのチャンネル и あらゆる問題について話し合うグループ IIKBのエリアにあります。 個人的なリクエスト、質問、提案、推奨事項も 拝見して皆様にお返事させていただきます。.

すべての情報は教育目的のみに提供されます。 この文書の作成者は、この文書を学習した結果得られた知識や方法を使用した結果、誰かに生じた損害については一切の責任を負いません。

OTP タスクの解決

XNUMX 番目のセクションに進みましょう。 最初のものよりも複雑であることはすぐに言いますが、今回はプログラムのソースコードは提供されていません。 ここ (https://t.me/RalfHackerPublicChat) とここ (https://t.me/RalfHackerChannel) での議論を忘れないでください。 さぁ、始めよう。

OTP の署名が付いたアイコンをクリックします。 接続するアドレスとポートが与えられます。

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

接続してサーバーを見回します。

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

私たちが読めないフラグ、プログラムとそのソースコード。 ソースを見てみましょう。

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

整理してみましょう。 プログラムはパスワードを引数として受け取ります。

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

次に、ランダムな 16 バイトが otp 変数に格納されます。

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

ランダムな名前のファイルが tmp フォルダーに作成され (最初の 8 バイトは otp)、ランダムな 8 バイトがそのファイルに書き込まれます (8 番目の XNUMX バイトは otp)。

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

何らかの理由で、作成されたファイルの値が読み取られ、入力されたパスワードと比較されます。

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

ここで脆弱性が発生します。 これは、生成された番号をファイルに中間的に保存することで構成されます。 たとえば、ファイル サイズを 0 に制限すると、書き込みおよび読み取り時に 0 がパスワードと比較されます。これは次のように実行できます。

# ulimit -f 0

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

それでは、プログラムを実行してみましょう。

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

エラーが発生します。 問題ありません。同じ Python を使用して処理できます。

python -c "import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('./otp 0')" 

pwnable.kr 25 - otp でタスクを解決します。 Linuxのファイルサイズ制限

旗を獲得し、簡単に 100 点を獲得しました。 そして続きます。次の記事では Web について触れます。 から参加できます Telegram.

出所: habr.com

コメントを追加します