Cum sa faci XSS si SQL injection folosind headerele de HTTP

Sunt multe situri care logheaza date despre utilizatori (IP, user agent etc). In cele mai multe cazuri, informatia luata din headerul de HTTP nu este escapata. Asta poate duce la atacuri de tip XSS si SQL injection.

Cum se poate face un XSS sau un SQL injection folosind headerul de HTTP? Simplu:

1. Se instaleaza pluginul de Firefox Modify Header.

2. Ca exemplu am modificat headerul de USER_AGENT cu urmatorul script:

<script type=”text/javascript”>// <![CDATA[
alert(“Esti vulnerabil la XSS”)
// ]]></script>

3. Pentru test, am facut un php care face un var_dump la variabila $_SERVER

<?php echo “<pre>”,var_dump($_SERVER), “</pre>”;?>

La rularea scriptului php imi apare un alert cu mesajul Esti vulnerabil la XSS.

Pentru a preveni astfel de atacuri, intodeauna escapati orice se afiseaza sau se introduce in baza de date.