DVWA-コマンドインジェクション(低)

コマンドインジェクション

インターフェース

ここに画像の説明を挿入

ソースコード


<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    
    
    // Get input
    $target = $_REQUEST[ 'ip' ];

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
    
    
        // Windows
        $cmd = shell_exec( 'ping  ' . $target );
    }
    else {
    
    
        // *nix
        $cmd = shell_exec( 'ping  -c 4 ' . $target );
    }

    // Feedback for the end user
    echo "<pre>{
    
    $cmd}</pre>";
}

?>

コード分​​析

[送信]をクリックして入力IPを取得し、現在IPを送信しているマシンのタイプを確認します。Windowsの場合はping ip to pingを使用し、他のモデルの場合はping -c 4 ip topingを使用します。

浸透ステップ

       ステップ1:コードを分析すると、コードがユーザーが入力したIPに対して法的な判断を下さず、直接ping操作を実行していることがわかります。ip && otherコマンドを使用すると、pingや機密データへのアクセス以外の結果をコンピューターに出力させることができます。
       ステップ2:127.0.0.1を通常どおり入力し、自分のコンピューターにpingを実行します
ここに画像の説明を挿入
ステップ3:127.0.0.1 && dirを作成して、サーバーの現在のフォルダーを表示します
ここに画像の説明を挿入

使用される可能性のある建設的な文を分析する

       最初のコマンド:ip && otherコマンド
              は、ping ip操作の後に他のコマンドを実行します
       。2番目のコマンド:ip&otherコマンド
              は、成功または失敗に関係なく、最初のコマンドを実行し、次のコマンドを実行します
       。3番目のコマンド:(ip)|他のコマンド
              ipは省略でき、1つの結果が2番目の入力として使用され、2番目のコマンドの結果のみが出力されます。

可能なコマンド

       Linuxではlsコマンドの代わりにdirを使用し、Linuxでは
       catコマンドの代わりにtypeを使用します

発生した問題

       DVWAの文字化けした
       解決策:WWW \ DVWA \ dvwa \ includesフォルダーの下のdvwaPage.inc.phpファイル内のすべてのutf-8をGBKに変更します

おすすめ

転載: blog.csdn.net/qq_37589805/article/details/112191707