Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Теория взлома.Web appz. Авто аудит. v.1.0 |

15.12.2006, 00:55
|
|
Участник форума
Регистрация: 23.11.2006
Сообщений: 226
Провел на форуме: 1045663
Репутация:
864
|
|
Теория взлома.Web appz. Авто аудит. v.1.0
Автоматизируем процесс взлома.
[ I Intro ]
Найденная xss - хорошо.Php-include? Eще лучше. А если 10?50?
Тема этой статьи - автоматизация поиска php-include, sql-inj и xss баг. Так как, процесс поиска достаточно однообразен, то его легко можно автоматизировать ( в данный момент я пишу такой скрипт, релиз планируется в 20-30 числах этого месяца . Кажется, кто-то еще писал похожего бота.. ).
[ II Inside ]
1) PHP-Include. Для начала напишем скриптег примерно
такого вида:
Код:
<?
include ($_GET[file]);
?>
Как видно, этот скрипт инклудит переменную file, полученную через GET запрос. Попробуем просто загрузить этот скриптег, без всеких доп. значений в $file:
Код:
$ nc 192.168.0.1 80
GET /bug/include.php HTTP/1.0
HTTP/1.1 200 OK
[cut]
Content-Length: 242
Connection: close
<br />
<b>Warning</b>: include() [<a href='function.include'>function.include </a>]: Failed opening '' for inclusion (include_path='.:/usr/share/php5:/usr/share/php') in <b>/var/www/localhost/htdocs/bug/include.php</b> on line <b>2</b><br />
(Все это я специально делаю неткатом, чтобы потом, на практике было проще, т.к. парсить мы будем именно html код со всеми тегами.)
Если вырезать теги, получится что-то типа этого:
Код:
Warning: include() [function.include]: Failed opening '' for inclusion (include_path='.:/usr/share/php5:/usr/share/php') in /var/www/localhost/htdocs/bug/include.php on line 2
Логично редположить, что в большинстве случаев с инклуд багой (error_reporting 0 рассмотрю чуть попозже), месага будет примерно одинаковой. То есть, написав небольшой парсер хтмл для вырезки скриптов (из a тегов например), можно получить неплохой чекер :)
Все просто - если есть месага с "ашипкой", то соответсвенно есть и бага. Как вариант - можно попробовать подставить что-то типа http://google.com/, но возможно что "URL file-access is disabled in the server configuration", и никаких шеллов не будет.
error reporting 0. Часто некоторые умники отключают вывод ошибок вообще. Это привод к тому, что тяжело понять, есть бага или нет. С php-inc поступаем так: перебираем ../[../ here]../etc/passwd, скрипты типа index.php и http://google.com/ например.Если с каким-либо из этих параметров код страницы изменится, можно считать что инклуд есть.
2) SQL-Injection. Скуль.Тут аналогично с инклудом. Во все параметры тыркаем ', -1, etc..
Если будет месага типа "you have an error in your sql syntax", то бага есть.
Код:
1064 - 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
error reporting 0. Но и тут находятся умники, которые отключат вывод ашипок. Найти багу можно только сделав правильный SQL-запрос.
3) Cross Site Scripting. Тут все еще проще. Для примера возьмем следующий код:
Код:
<h1> My XSS here </h1>
Далее мы будем этот код подставлять во все параметры. Найти багу тут очень просто. По определению хсс - внедрение своего кода в код страницы. Парсим код страницы на наличие нашего кода, если находим - бага присутствует. Все просто :)
[ III Outro ]
Описанный выше метод основывается на вывод различных ошибок, в основном.Если вывод отключен - только правильный путь к файлу для php-inc и правильный запрос для sql-inj.
На самом деле, автоматизация этого процесса довольно проста. Примерно в 20-30 числах этого месяца я постараюсь дописать вторую версию крякера с поддержкой проверок rfi (remote file inclusion), sql-inj & xss. Каментим и оцениваем ;)
|
|
|

15.12.2006, 01:18
|
|
Познавший АНТИЧАТ
Регистрация: 02.05.2006
Сообщений: 1,191
Провел на форуме: 7364332
Репутация:
1276
|
|
Конечно не плохо, но на практике как все получится это другой вопрос! Иногда ручками копаешься не один час, а что бы написать скрипт который делал все сам, это каких надо приложить усилий и знаний, что бы он выдавал хотябы 40% истыны.
Вот Гема писал скрипт, для локально поиска багов, там вобще вероятность выполнения найденой баги составляла 1-10% от всего найденого!
Ну если у тебя получиться написать, респект тебе большой будет!
P.S. Вот только интересно в чем будет разница твоего скрипта от уже имеющихся сканеров безопасности?
P.S.S. И еще, это мало на статью похоже
Последний раз редактировалось DIAgen; 15.12.2006 в 01:24..
|
|
|

15.12.2006, 08:29
|
|
Banned
Регистрация: 01.08.2006
Сообщений: 725
Провел на форуме: 7681825
Репутация:
4451
|
|
DIAgen скрипт вообще был написан для того,чтобы после его работы наглядно было видно где вызываются нужные нам mysql_query,include() и прочее,те облегчает работу.
|
|
|

26.12.2006, 14:54
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
Описанный выше функционал реализован в сканере jane-jane от меня, Skvoznoy и Profit.
|
|
|

26.12.2006, 17:56
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
Сообщение от DIAgen
Конечно не плохо, но на практике как все получится это другой вопрос! Иногда ручками копаешься не один час, а что бы написать скрипт который делал все сам, это каких надо приложить усилий и знаний, что бы он выдавал хотябы 40% истыны.
Ну не совсем согласен... Со скриптом проверка сайта может занять больше времени, но результат будет положительным если база уязвимостей сканера будет нормальной. Это как брут всех возможных комбинаций: может занять много времени, но рано или поздно пароль будет найден.
2Gh0s7
Спокойней епта, контекст твоего поста понятен, только он не для тебя был... А для людей которые заинтересованы в теме, но реализовать сами не способны.
Последний раз редактировалось KSURi; 26.12.2006 в 18:11..
|
|
|

26.12.2006, 18:34
|
|
Участник форума
Регистрация: 23.11.2006
Сообщений: 226
Провел на форуме: 1045663
Репутация:
864
|
|
Сообщение от KSURi
2Gh0s7
Спокойней епта, контекст твоего поста понятен, только он не для тебя был... А для людей которые заинтересованы в теме, но реализовать сами не способны.
Да я вообще спокоен как азазель 
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|