SEOSERVISE - Защита сайтов от хакеров.

 
   
 

Главная


 


В этом случае взломщик может завладеть конфиденциальной информацией, например именами пользователей и паролями, и получить доступ ко всем пользовательским дан­ным (например, номерам кредитных карточек, кодам социального страхования и др.). Код CFM похож на HTML тем, что в нем также используются дескрипторы, пре­доставляющие разнообразные возможности, например подключение к базе данных, поддержку протоколов POP ( Post Office Protocol ) и SMTP ( Simple Mail Transfer Proto ­ col ), а также поддержку объектной модели компонентов COM ( Component Object Model ). Кроме того, существуют дополнительные модули от сторонних производите­лей, которые предоставляют дополнительные функции. Например, для выполнения запроса SELECT к базе данных можно использовать следующий фрагмент кода CFM : Обратите внимание, что дескриптор < CFQUERY > имеет атрибут DATASOURCE , в котором задается используемый в запросе источник данных ODBC . Атрибут NAME используется для дополнительной настройки соединения ODBC . Имея общее представление о структуре запроса, взломщик может попытаться реализовать атаку на базу данных, сгенерировав нестандартный запрос. Например, переменная URL . auto _ id используется для передачи автоматически сгенерированного идентификационного номера, указан­ ного в адресе URL (для получения более подробной информации о командах GET и POST обратитесь к главе 3). При использовании следующего адреса URL будет сгене­ рирован запрос к базе данных с параметром autoid , принимающим значение 1: http :// www . example . coe / cfii / ge *. c ? B ? auto id 1 Как будет неоднократно отмечаться на протяжении всей книги, при отсутствии проверки корректности данных в серверной части приложения взломщик может пере­дать на сервер любые данные. Для отображения информации, полученной в результате обработки предыдущего запроса SQL , нужно воспользоваться массивом automobiles . Поскольку в рассматриваемом примере информация содержится в базе данных inventory , сгенерированный в качестве результата обработки запроса код HTML будет иметь следующий вид: Обратите внимание, что данные, генерируемые с использованием дескриптора < CFOUTPUT >, почти всегда представляют собой код HTML . В данном случае слово "почти" означает, что всегда существует возможность обмана сервера приложений и получения исходного кода CFML . Однако это скорее исключение, чем правило.

 

 

 

 

 

 
 

1 |2 |3 |4 |5 |6 |7 |8 |9 |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 |42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |56 |57 |58 |59 |60 |61 |62 |63 |64 |65 |66 |67 |68 |69 |70 |71 |72 |73 |74 |75 |76 |77 |78 |79 |80 |81 |82 |83 |84 |85 |86 |87 |88 |89 |90 |91 |92 |93 |94 |95 |96 |97 |98 |99 |100 |