You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
взломИспользуем load_file для чтения файлов на сервереСоставленный xss-сплойт успешно пашетalert('xss')А сам сплойт примет вид:твой_яваскрипт_код_здесьПохожую ситуацию, но уже в другом ракурсеможно наблюдать на сайте www.plentyoffish.com.После прохождения в раздел регистрации(www.plentyoffish.com/register.aspx) и введенияв поле пароля символа одинарной кавычки тебяпопросят заполнить все поля. Однако, дописавпараметр password и придав его значениюсимвол кавычки, мы получим тот же результат.Составляем линк:http://www.plentyoffish.com/register.aspx?password=alert('xss')Нас просят пройти лесом. Хотя, если заглянутьв html-сорец, видно, что сначала необходимозакрыть кавычкой VALUE и указать «>»:Составленный с учетом всех требований,запрос успешно сработает:http://www.plentyoffish.com/register.aspx?password=">alert('xss')/ 080xàêåðА сам эксплойт получится таким:">яваскрипт_здесьЯ привел лишь пару случаев. На самом деле,тема xss гораздо глубже, геморроя хватает.Прочий «головняк»Помимо всего прочего, часто встречаютсяи отдельные варианты «головняка». В частности,в перл-скриптах может присутствоватьфильтрация пробела. Например, ресурсwww.cumcla.org содержит бажный скрипт showfile.cgi.Передав параметру filename значение id, мыувидим, что команда успешно выполнилась:http://www.cumcla.org/cgi-bin/showfile.cgi?directory=cgibin&filename=|id|Но выполнение любой из составных команд(ps -ax, ls -la, uname -a, и т.д.) окажется неудачным,так как пробел фильтруется. В перлеподобное ограничение можно обойти припомощи $IFS, то есть тебе достаточно поменятьв запросе все имеющиеся пробелы на $IFS.В таком случае просмотреть версию операционкина сервере не составит труда:http://www.cumcla.org/cgi-bin/showfile.cgi?directory=cgibin&filename=|uname$IFS-a|Еще один неприятный момент — авторизацияв админке через .htpasswd. Дело в том,что даже если ты каким-то образом прочиталсодержимое .htpasswd, то пасс там в 99%случаев будет лежать в зашифрованном виде.Причем в разных случаях алгоритм шифрованияможет быть разным. Это связано с тем, чтоутила htpasswd, идущая в комплекте с Апачем,поддерживает несколько алгоритмов шифрования,а именно — DES (ключ ‘-d’), MD5 (ключ‘-m’) и SHA (ключ ‘-s’). При наличии на рукахпримеров хэшей этих алгоритмов, не составитособого труда определить, с каким ключомработает утила htpasswd в конкретно взятомслучае.Также стоит упомянуть об asp-движках. Здесьследует опровергнуть мнение о том, что aspскриптымогут работать только под виндой, каксчитают многие. Хотя aspx встречается исключительнопод win, asp-движок не плохо себя чувствуети под никсами. Взлому asp-движков будетпосвящена моя статья в одном из следующихвыпусков журнала, поэтому подробно заострятьвнимание на этом сейчас я не буду. Скажу лишь,что расширению не всегда можно верить — онозапросто может оказаться фейковым. Кстати,нельзя чрезмерно доверять и баннерам, принадлежащимкрутящимся на сервере службам.Грамотный админ не обломается изменить стандартноеприветствие ftp/smtp-сервера. Не зряговорят: доверяй, но проверяй. Всегда следуйэтому правилу.В заключение обращу твое внимание наполучение доступа к базе. Как ты понимаешь,зачастую, даже имея на руках раскрученныйинъект, хочется получить полноценного юзера(читай — рута =)) в ломаемой БД. Изначальномногое зависит от пользователя, с правамикоторого работает с базой уязвимый скрипт.Если есть доступ, например, к базе MySQL,то не поленись проверить возможностьудаленных подключений к БД (таблица user,поле host). Если такая возможность присутствует— считай, что тебе повезло. Сливай хэшрутового пароля к базе (таблица user, поляuser и password). Как правило, пасс бываетв виде MySQL-хэша (16 символов), но иногдавстречается и алгоритм SHA-1. Первыйбрутится без проблем (смотри утилу в разделе«X-Tools»), а вот с SHA могут возникнутьтрудности. Если удаленные подключениязапрещены, то я все же советую тебе сбрутитьпассы юзеров БД, так как нередки случаи,когда они подходят к ftp. Ну а при отсутствиидоступа к базе MySQL, но при наличии правfile_priv, читай конфиги и сорцы, которые могутсодержать в себе заветные пароли. КонфигАпача поможет тебе определить расположениедиректорий виртуальных хостов :).Последнее словоРассмотреть все случаи в рамках одной статьинереально. Я обозначил лишь те, которыенаиболее часто встречаются в повседневнойхакерской жизни. Надеюсь, ты понял, что взлом— это не просто применение чужих сплойтов,но и реализация своих собственных идей.Всегда борись до последнего и помни — профессионалыникогда не сдаются. z02 /98/ 07