DVWA
  • Introduction
  • About The Author
  • Brute Force
    • Pengenalan
    • Low
    • Medium
    • High
  • Command Injection
    • Pengenalan
    • Low
    • Medium
    • High
  • CSRF
    • Pengenalan
    • Low
    • Medium
    • High
  • File Inclusion
    • Pengenalan
    • Low
    • Medium
    • High
  • File Upload
    • Pengenalan
    • Low
    • Medium
    • High
  • SQL Injection
    • Pengenalan
    • Low
    • Medium
    • High
  • SQL Injection (Blind)
    • Pengenalan
    • Low
    • Medium
    • High
  • XSS (DOM)
    • Pengenalan
    • Low
    • Medium
    • High
  • XSS (Reflected)
    • Pengenalan
    • Low
    • Medium
    • High
  • XSS (STORED)
    • Pengenalan
    • Low
    • Medium
    • High
  • CSP Bypass
    • Pengenalan
    • Low
    • Medium
    • High
Powered by GitBook
On this page
  • Mencari Informasi
  • Melakukan Serangan
  • Alternatif ;

Was this helpful?

  1. Command Injection

Low

Command Injection level Low on DVWA

Di bawah ini adalah source-code dari command injection level low di DVWA.

vulnerabilities/exec/source/low.php
<?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>";
}

?>

Mencari Informasi

Terlihat bahwa pada baris ke-10 dan 14 program ini menjalankan perintah ping ke target yang diinputkan oleh user.

Contoh dari penggunaan program ini adalah seperti berikut:

Jika kita perhatikan source code-nya, tidak ada validasi inputan. Pada Unix/Linux, tanda ; memungkinkan user bisa menjalankan beberapa perintah sekaligus pada satu baris yang sama.

Melakukan Serangan

Setelah mengetahui bahwa tidak ada validasi input, kita bisa memanfaatkan ; untuk menjalankan perintah lainnya. Seperti contohnya 8.8.8.8; whoami yang digunakan untuk mengetahui user yang sedang digunakan.

Kita juga bisa melihat isi dari file /etc/passwd dengan memasukkan 8.8.8.8; cat /etc/passwd, membuat backdoor, dll. Maka dari itu, command injection ini sangatlah berbahaya.

Alternatif ;

Selain menggunakan ; kita juga memiliki alternatif lain seperti berikut yang bisa digunakan di shell bash.

  • && — AND Operator

  • | — PIPE Operator (menghapus hasil ping dari output)

PreviousPengenalanNextMedium

Last updated 5 years ago

Was this helpful?

adalah fungsi bawaan PHP yang berfungsi untuk menjalankan perintah melalui shell dan mengembalikan output yang lengkap sebagai string.

Selanjutnya, anda bisa melakukan back connect, dengan cara reverse shell atau bind shell. Penjelasan tentang back connect bisa anda baca .

Selamat! Kita telah berhasil melakukan command injection. Silahkan anda bisa mencoba melakukan eskalasi lebih lanjut.

😆
shell_exec()
di sini