Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863102936

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

Misc

1サインイン

難易度サインイン

与えられたフラグ入力をコピーします

2 range_download

難易度媒体

フラグ{6095B134-5437-4B21-BE52-EDC46A276297}

0x01

DNSトラフィックの分析では、DNSトンネルデータがDNS IP.ADDR=1.1.1.1に存在することがわかりました。ソート後、base64:が取得されます

CGFZC3DVCMQ6IG5ZC195EWRZIQ==

ソリューションbase64に:を取得します

Password: NSS_YYDS!

0x02

HTTPトラフィックの分析では、IP.ADDR==172.21.249.233にはHTTPセグメントダウンデータがあり、毎回リクエストヘッダー範囲の要件に従って1つのバイトのみがダウンロードされることがわかりました。ランダムダウンロードなので、順番にソートする必要があります。ソート後、暗号化された圧縮パッケージを入手できます。

照合プロセス中に、2349ビットのバイトが欠落していることがわかり、それを修正する必要があります。

0x01でzipパスワードを取得するため、バイトを爆破できます。パスワードが正しい場合は、修理が成功します。

0x03

圧縮パッケージを解凍してQRコードを取得します。

スキャン後、を取得します

5133687161454E534E6B394D4D325A7854752335666870626A42554E6A5A5A56454666C4E4786A6A62324E464D477 05557464635546D6C536148565165564659645563774E327073515863324F58465555247314555564134555555570707434 4686957444D336544684C596C42555556E633636E687165486C75644464133515157470566E4242526B6C4A54577 316C515452754D555661636E4A785955643056C4D3559557844656A4A35626C6834D6D6D5A4C51513D3DCIPHEY分析はフラグを取得しました:

Ciphey '5133687161454E534E6B394D4D325A7854752335666870626A42554E6A5A5645466C4E4786A6A62324E464D477 05557464635546D6C536148565165564659645563774E327073515863324F584655552473145555641345555555555555555555 707063444686957444D3365444684C596C4255556E6333636E687165486C756444444135157747056666E422526BB6C 4A5457316C515452754D555661636E4A785956430566C4D355557844656A4A4A35626C6834D6D5A4C51513D3D3D'可能なplaintext: '5133687161454e534e6b394d4d325a7854475235666870626a42554e6a5a5a56454666c4e47866 A62324E464D47705557464635546D6C5361485651655564659645563774E3270707351586324F584655555247314555555641345555 570706344686957444D3365444684C596C4255556E63333636E687165486C7564444413515774705666E4242526B6C4A5457316 C515452754D5555661636E4A7859556430566C4D3559557844656A4A35626C6834D6D5A4C51513D3D '(Y/N): PLAINTEXT: '5133687161454v534v6y394w4w325z7854752335666870626Z42554v6z5z5z5645466x4v47786 Z62324V464W477055574646355546W6X53614856516555646596455637774v3270707351586324U5846555524731455555555555555555555555555555555555555555555 57070634446869574444W3365444684x596x4255556v63333636v687165486x75644444413515774705666666666666v4242526y6z54457316 X515452754W5555661636V4Z7859556430566x4W3559557844656Z4Z35626X68334W6W5Z4X51513W3W '(Y/N): PLAINTEXT: 'w3w31515x4z5w6w43386x62653z4z656487559553w4x6665546559587z4v636166555w45725451 5x6137545Z4X6Y6252424v6665074775153314644657x684561786v6363336v6v65655555524x695x486445633w44447596888436070 7555431465555554137425556485U42368515370723V477365554695646556156565841635x6W645536447555555555554W464v4232 6Z68774V4X6645465Z4Z5Z6V45524Z6260786V665332574587Z523W4W493Y6V435V4541617863315 '(Y/N): Plaintext: 'D3D31515C4A5D6D43386C62653A4A656487559553D4C6650346559587A4E636166555D45725451 5C6137545A4C6B6252424E665074775153314644657C684561786E6363336E65555555524C695C486445633D4444447596864436070 7555431465555554137425556485F42368515370723E477736554695646556156565841635C6D645536664755555555555555554D44E4232 6A68774E4C64545465A4A5A6E45524A6260786E665332574587A523D4D493B6E435E4541617863315 '(Y/N): Plaintext: 'フラグ{6095b134-5437-4b21-be52-edc46a276297}'(y/n):y╭-〜七面の七面

flaintextはキャプチャザフラグ(CTF)フラグです│

│使用した形式:│

hexadecimal│

base64│

│UTF8│

base62│

base58_bitcoin│

base32│

│utf8plaintext: 'flag {6095b134-5437-4b21-be52-edc46a276297}'│ ┰┰。-七面には、そして七面大。七面─〜ちなみ、そして七面、そして七面お願いします七面

OSをインポートします

インポート時間

リクエストをインポートします

ランダムをインポートします

'cg fz c3 dv cm cm q6 ig 5z c1 95 ew rz iq=='。分割( ''):

os.system( 'nslookup' + i + '。nss.neusoft.edu.cn1.1.1.1')

time.sleep(5)

l=int(requests.head( 'http://172.21.249.233/flag.7z'、stream=true).headers ['content-length'])

a=set()

一方、len(a)!=l:

b=random.randint(0、l)

r=requests.get( 'http://172.21.249.233/flag.7z'、stream=true、headers={'range ':' bytes=' + str(b) +' - ' + str(b)}))

r.status_code==416:の場合

印刷(b)

A.Add(b)

印刷(レン(a))

0x04

サインインの難易度

フラグ:flag {zhe_ti_mu_ye_tai_bt_le_xd}

この質問では、PNG構造と一般的なツールの使用を調べます。

問題は、不必要なZLIBデータストリームをIDATデータに保存することです。これは、Binwalkを介して直接解凍できます。

binwalk -me png.png 1049983-20211222030501652-1228875315.png

3は単なるPNGです。PNGを考えすぎないでください

難しい

フラグ:

フラグ{zheshirenchude}

この質問は、PNG構造と一般的な質問の理解度を調べます

タイトルを開くPNG画像、ビンウォークには例外がありません1049983-20211222030502534-596327598.png

010Editorがオープンしたとき、CRCの例外が見つかりましたが、当面は構造に問題はありませんでした。1049983-20211222030503265-982398738.png

Opening TweakPNGは、IHDR、IDAT、およびIENDデータブロックのCRC値が正しくないことを発見しました。1049983-20211222030503999-1878144728.png 1049983-20211222030504511-275909335.png 1049983-20211222030504972-99658495.png

次に、Stegsolveを使用して表示し、写真に隠された箱があることがわかります。 IDATデータはボックス内で選択されており、表示する必要があるIDATデータの特別な機能が必要であることを示しています。1049983-20211222030505532-548234956.png

写真自体についてはそれほど多くの情報しかありません。 PNG構造から、PNG構造の観点からは、まず第一に、IHDRブロックCRCに問題があります。一般的に、画像の高さが変更されます。 CRC逆計算スクリプトを介して(または盲目的に高さ値を直接変更する)ことで、写真の下に隠された画像があることがわかります。 Stegsolveを確認して、隠されたパターン1049983-20211222030506079-1817329692.png 1049983-20211222030506755-897769183.pngを見つけました

3つのボックスは、PNG画像の一部のデータ構造を囲み、2番目のボックスはZLIBを使用してPNG画像データが圧縮されていることを示しています。ここでボックスを選択して、ZLIB圧縮データに注意を払う必要があることを示します。

3番目のボックスは、特定の圧縮ブロックデータ構造です。この写真の内容は、LIBPNGの公式Webサイトのスクリーンショットですが、実際に公式Webサイトにアクセスすると、ラベル付けされた圧縮ブロック構造が一致しないことがわかります。1049983-20211222030507373-73800850.png

数字は意図的に変更されているため、2233シリーズの数字がタイトルの特定のキーまたはヒントである必要があることがわかります。

その後、すべてのIDATデータブロックCRC値が正しくありません。すべてのCRC値をコピーします。ヘックスデコード。ヒントだとわかりました

ヒンティス[iend_and_11] _jiayou_xd。1049983-20211222030507811-734911024.png

ヒントによると、IENDを表示すると、通常のIENDデータは空で、ファイルフラグの終わりとしてのみ機能する必要があります。しかし、今ではデータがあります。1049983-20211222030508428-28381319.png

データを抽出すると、最初の4ビットは9c 78であり、ZLIBデータヘッダーは78 9cであることがわかりました。最初の4桁を変更して減圧します。それはbase64であり、その後デコードされていることがわかりました。最後に、旗の最初の段落が取得されます

フラグ{Zheshi 1049983-20211222030509073-1734863308.png

最初の段落を取得した後、ヒントの11はまだ解決されていません。表示することにより、最後のIDATデータブロックであるChunk 11が発見されます。前のものによると、ヒント2233があり、完全なデータブロック検索は2233です。データブロックの終わりには2233が含まれていることがわかりました。

前のフラグによると、これはZlib圧縮でもあり、2233の初めからCRC値までの32ヘクスの値がコピーされ、2233がZLIBデータヘッダー78 9Cに変更されると推測されます。

デコードされたデータはエンコーディングであることがわかりました。前のフラグによると、これは他の基本家族クラスのエンコードであるべきです。 BaseCrackまたはオンラインベースデコードを通じて、これはBase91であり、Renchudeとしてデコードされていることを知ることができます}

後者のフラグは、Renchude} 1049983-20211222030510746-1247567803.png 1049983-20211222030511339-234043963.png 1049983-20211222030511908-1842991030.pngです

最終フラグを取得するには、2つのセクションをマージします

フラグ{zheshirenchude}

4 PNGは非常にひどくbeatられ、常にカムバックしています

難易度シンプル

PDFを表示します

テキスト1049983-20211222030512378-1896506921.png 1049983-20211222030512820-1477296061.png 1049983-20211222030513167-1945991591.png 1049983-20211222030513542-991496449.pngでより軽くて軽くするための多くのヒントを見つけました

フラグが白のテキストに隠されていると考えて、すべてのテキストを選択してください

2番目から最後のパラグラフ1049983-20211222030514029-1509206465.pngの終わりに空白の言葉を見つけました

他の色にコピーまたは編集します

フラグを取得します

フラグ{hey_there_is_no_thing}

ここで、

です

難易度:難易度

この質問では、単純なテキスト攻撃の実用的な応用を検証します。実際の環境では、プレーンテキストファイルは、プレーンテキスト攻撃のために積極的に提供されません。自分で攻撃するために、プレーンテキストファイルまたはプレーンテキストを見つける必要があります。

圧縮パッケージには、2つのファイルライセンスとreadme.mdが含まれています

ライセンスはオープンソース証明書ファイルです

通常のオープンソースプロトコルをすべてダウンロードして、サイズを比較します

Apache2.0のサイズは非常に似ていることがわかります

githubの内蔵ライセンスファイルを使用して、それを正常に復号化する

簡単な方法もあります。多くのオープンソースライセンスは、スペースから始まります。複数の複製スペースをプレーンテキストとして直接使用できます。

6 eviptedzip

難易度シンプル1049983-20211222030514412-431078811.png

ロケーターがないQRコードを見ることができます。それを完了すると、あなたはプロンプトを取得します:一般的な暗黙の執筆

画像を分離して、圧縮パッケージを取得します

減圧後、Stegpyを使用してフラグを取得します

フラグ{do_u_kn0w_ste9py ?}

7 easysteg

難易度シンプル

最初のレイヤーは50996.zipです

スクリプト復号化再帰圧縮パッケージ300レイヤーの書き込み

8圧縮パッケージ圧縮パッケージ圧縮パッケージ

mkdir zips

mkdir zips/files

MV 50996.ZIP ./ZIPS

CD zips

:

する

file=$(ls -t | tail -1)

pass=$(zipinfo $ file | grep- | cut -d '' -f12 | cut-d。-f1)

unzip -p $ pass $ファイル

echo 'unzip -p $ pass $ file'

mv $ file ./files

終わり

最後のレイヤーは233333です。6桁の数値パスワードは756698です

SQLiteを開いて、従業員のテーブルに旗を見つけます

フラグ{UNZ1P_I5_SO_C00L ##}

問題解決スクリプト

web

難易度媒体

9フラグ

ヒトの肉の並べ替え、次に精神的にBase64を計算します

解決策1

および他のWebサイトには十分な出力があり、コピーしてから、ほとんどのテキストエディターがサポートする検索/交換関数を使用して、メッセージを次のような形式に置き換えます。

a=list( 'a' * 20)

.

a [1]='a'

a [20]='b'

a [3]='c'

.

# やっと

base64をインポートします

print(base64.b64decode( ''。(a)))

解決策2

質問SSEはリアルタイムでメッセージをブラウザにプッシュします。ルートは「/フラグ」です。

インポートBase6