The Diamond Model of Intrusion Analysis

Sıradaki içerik:

The Diamond Model of Intrusion Analysis

Command Injection DVWA (Low)

106 okunma — 25 Aralık 2023 11:59
avatar

Erkan Çekiç

  • e

    Eğlenmiş

  • e

    Eğlenmiş

  • e

    Şaşırmış

  • e

    Kızgın

  • e

    Üzgün

Command Injection DVWA (Low) adlı bu writeup ta Damn Vulnerable Web Application ın odalarında biri olan Command Injection odasının Low seviyesinin çözümü gösterilmektedir.

Deneme yapmak ve sistemin nasıl tepkiler verdiğini anlamak için input alanına rastgele değer deneyerek başlanmıştır.

Sistemin herhangi bir ip yapısına uymayan herhangi bir sayıya ping atabildiği anlaşılmaktadır.

Bu kısımda herhangi bir sayı ya da ip input u verildiğinde o ip ye ping atıldığı ve ‘and’ operatörüyle birlikte başka bir komutun da çalıştığı görülmektedir. Daha ileriye gidilerek sömürü kımını daha derinden ele alınmıştır.

Burada kullanılan payload tamamen sizlerin amaçlarına ve hedeflerine bağlı olup sömürü aşamasını nasıl yönlendireceğinizi belirlemektedir.

Payload 1 : 8.8.8.8 && ls

Payload 2 : 8.8.8.8 && cat /etc/passwd

📋Kaynak Kod Analizi

Command Injection DVWA (Low) da,bu sistemin nasıl çalıştığına dair daha fazla bilgiye ulaşabileceğimiz bir yer olan kaynak kod analizi kısmına gelelim.

‘View Source’ a tıklayarak sayfanın PHP kaynak kodlarını incelemekle başlıyoruz.

<?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>";
}

?>
PHP

Gelin bu sistemin arka planında neler çalıştığını daha detaylı inceleyelim;

  • 3. satırda kullanıcının formu gönderip göndermediğini kontrol edilmektedir. Eğer “Submit” adında bir POST isteği varsa, yani kullanıcı formu doldurup gönderdiyse, bu koşulun içine girilir.
  • Ardından kullanıcının girdiği IP adresini $_REQUEST dizisi kullanarak alır ve $target değişkenine kaydeder.
  • 8. satır, sunucunun işletim sistemini belirlemek ve buna göre ping komutunu çalıştırmak için bir ‘if’ bloğu açar ve işletim sistemini belirlemek için php_uname('s') kullanır.
    • Eğer işletim sistemi “Windows NT” ise, Windows işletim sistemi üzerinde çalışıldığını varsayar ve $cmd değişkenine 'ping'.$target komutunu çalıştırarak ping sonuçlarını atar.
    • Eğer işletim sistemi “Windows NT” değilse (yani, bir Unix benzeri işletim sistemi), $cmd değişkenine 'ping -c 4'.$target komutunu çalıştırarak ping sonuçlarını atar.
  • Son olarak, elde edilen ping sonuçları,<pre> etiketi içinde ekrana yazdırılır.

Brute Forece Low DVWA Writeup’ıma ulaşmak için buraya tıklayabilirsiniz.

  • Site İçi Yorumlar

En az 10 karakter gerekli

Gönderdiğiniz yorum moderasyon ekibi tarafından incelendikten sonra yayınlanacaktır.