Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ уязвимости. 
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° систСмы управлСния содСрТимым Π½Π° SQL уязвимости

Π Π΅Ρ„Π΅Ρ€Π°Ρ‚ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° исходного ΠΊΠΎΠ΄Π° сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ число инструмСнтов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π·Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ уязвимости ΠΏΡƒΡ‚Π΅ΠΌ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΊΠΎΠ΄Π°. Π Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ — динамичСский ΠΈ ΡΡ‚атичСский. Π‘ΠΎΠ»ΡŒΡˆΠ΅Π΅ распространСниС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ статистичСскиС Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ (благодаря простотС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ). Π’Π°ΠΊΠΎΠΉ инструмСнтарий ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄ всС распространСнныС языки… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ уязвимости. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° систСмы управлСния содСрТимым Π½Π° SQL уязвимости (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° исходного ΠΊΠΎΠ΄Π° сущСствуСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ число инструмСнтов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π·Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠ΅ врСмя Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ уязвимости ΠΏΡƒΡ‚Π΅ΠΌ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΊΠΎΠ΄Π°. Π Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ Π΄Π²Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Π°Π½Π°Π»ΠΈΠ·Ρƒ — динамичСский ΠΈ ΡΡ‚атичСский. Π‘ΠΎΠ»ΡŒΡˆΠ΅Π΅ распространСниС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ статистичСскиС Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ (благодаря простотС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ). Π’Π°ΠΊΠΎΠΉ инструмСнтарий ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ΄ всС распространСнныС языки программирования, Π² Ρ‚ΠΎΠΌ числС ΠΏΠΎΠ΄ PHP.

Π’Π°ΠΊΠΎΠΉ Π°Π½Π°Π»ΠΈΠ· Π² Ρ€ΡΠ΄Π΅ случаСв Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ число false positive Π»ΠΈΠ±ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ уязвимости Π² ΠΊΠΎΠ΄Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ просто Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π½Π΅Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΌΠΈ. Π’ ΡΠ²ΡΠ·ΠΈ с ΡΡ‚ΠΈΠΌ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ статичСского Π°Π½Π°Π»ΠΈΠ·Π° исходного ΠΊΠΎΠ΄Π° примСняСтся большС ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ Π°Π½Π°Π»ΠΈΠ·Π΅ ΠΊΠΎΠ΄Π°. Π‘ΠΎΠ»Π΅Π΅ эффСктивны динамичСскиС Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹. Π’Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ² Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π² ΡΠΈΠ»Ρƒ ΠΈΡ… ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ (ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ бСсконСчным числом Π²Π°Ρ€ΠΈΠ°Ρ†ΠΈΠΉ, поэтому Ρ‚Π°ΠΊΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ синтаксис языка). А Ρ†Π΅Π½Π° ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΡ€ΡƒΠ³Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»Π΅ΠΉ достаточно высока. Как слСдствиС, Π² Π‘Π΅Ρ‚ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты просто Ρ‚Π°ΠΊ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π½Π°ΠΉΡ‚ΠΈ.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. НапримСр, уязвимости Ρ‚ΠΈΠΏΠ° «ΠŸΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° сСссии» (Credential/Session Prediction) ΠΈΠ»ΠΈ «ΠΠ΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ восстановлСниС ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ» (Weak Password Recovery Validation) Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΏΡƒΡ‰Π΅Π½Ρ‹. Π—Π° Π½Π΅ΠΈΠΌΠ΅Π½ΠΈΠ΅ΠΌ инструмСнтов динамичСского Π°Π½Π°Π»ΠΈΠ·Π° исходных тСкстов приходится ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ статичСскими Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ. Для этих Ρ†Π΅Π»Π΅ΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡ΡƒΠΆΡƒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ grep/egrep. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ язык рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ряд уязвимостСй Ρ€Π°Π·Π½ΠΎΠ³ΠΎ уровня критичности ΠΏΠΎ ΡΠΈΠ³Π½Π°Ρ‚ΡƒΡ€Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ.

НапримСр, конструкция «grepR -i „header[ (]“ * | grepi Location | grep „$“ „ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ уязвимости „РасщСплСниС HTTP-запроса“, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ header (). ИспользованиС этой уязвимости пригодится Π² ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ„ΠΈΡˆΠΈΠ½Π³-Π°Ρ‚Π°ΠΊ ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π°Ρ‚Π°ΠΊ Π½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Набор сигнатур („='“ .$_“, „=“./ΠΈ Ρ‚. Π΄.) позволяСт Π»Π΅Π³ΠΊΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ уязвимости Ρ‚ΠΈΠΏΠ° «ΠœΠ΅ΠΆΡΠ°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнариСв». Ручная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚ присутствиС уязвимостСй Π² Ρ€ΡΠ΄Π΅ случаСв. Π’Π°ΠΊ, сформировав запрос Π²ΠΈΠ΄Π° «/netcat/modules/netshop/post.php?system=././././.htaccess%00», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π°. htaccess, располоТСнного Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ web-сСрвСра. .

.

ВсС выявлСнныС уязвимости сигнатурным поиском сорцов NetCat ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ client-side уязвимости, Π»ΠΈΠ±ΠΎ для ΠΈΡ… ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ использованиС ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ.

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ