PHP Code Review

Finchè si tratta di esaminare il codice sorgente poche pagine il problema non sussiste ma quando ci si ritrova a lavorare su un centinaio di pagine, di cui alcune contengono migliaia di righe di codice, il lavoro comincia a complicarsi.

Se doveste ritrovarvi nella mia stessa situazione questa soluzione potrebbe essere un buon punto di partenza. Per memoria riporto di seguito le sintassi di grep utili a individuare porzioni di codice php potenzialmente vulnerabile.

Find user input/output for possible XSS:

grep -i -r "echo" *
grep -i -r "$_GET" *
grep -i -r "$_" * | grep "echo"
grep -i -r "$_GET" * | grep "echo"
grep -i -r "$_POST" * | grep "echo"
grep -i -r "$_REQUEST" * | grep "echo"

Find potential command execution:

grep -i -r "shell_exec(" *
grep -i -r "system(" *
grep -i -r "exec(" *
grep -i -r "popen(" *
grep -i -r "passthru(" *
grep -i -r "proc_open(" *
grep -i -r "pcntl_exec(" *

Find potential code execution:

grep -i -r "eval(" *
grep -i -r "assert(" *
grep -i -r "preg_replace" * | grep "/e"
grep -i -r "create_function(" *

Find potential SQL injection:

grep -i -r "$sql" *
grep -i -r "$sql" * | grep "$_"

Find potential information disclosure:

grep -i -r "phpinfo" *

Find potential development functionality:

grep -i -r "debug" *
grep -i -r "$_GET['debug']" *
grep -i -r "$_GET['test']" *

Find potential file inclusion:

grep -i -r "file_include" *
grep -i -r "include(" *
grep -i -r "require(" *
grep -i -r "require($file)" *
grep -i -r "include_once(" *
grep -i -r "require_once(" *
grep -i -r "require_once(" * | grep "$_"

Other:

grep -i -r "header(" * | grep "$_"

3 thoughts on “PHP Code Review

  1. […] PHP Code Review | Gianni Amato This entry was posted in Bookmarks and tagged disclorure, execution, grep, inclusion, php, security, xss. Bookmark the permalink. ← How to Close a WordPress Site – Nerdaphernalia […]

  2. […] PHP Code Review | Gianni Amato […]

  3. […] appunto a completamento del primo post per tenere traccia delle corrette sintassi e degli strumenti utili per il code […]

Comments are closed.