Атака Π½Π° систСмы online-компиляции Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΡŽ с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

Hanno Böck, Π°Π²Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° fuzzing-project.org, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ» Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ интСрфСйсов ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ компиляции, Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ внСшнСго ΠΊΠΎΠ΄Π° Π½Π° языкС Π‘ΠΈ. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ «#include» ошибка компиляции Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ содСрТимоС Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.

НапримСр, подставив Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· online-сСрвисов Π² ΠΊΠΎΠ΄ «#include </etc/shadow>» Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ…ΡΡˆ пароля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root ΠΈΠ· Ρ„Π°ΠΉΠ»Π° /etc/shadow, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠ²ΠΈΠ΄Π΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΡƒΠ΅Ρ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ web-сСрвис выполняСтся с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root ΠΈ запускаСт ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ компиляции ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ root (Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ компиляции использовался ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, Π½ΠΎ запуск с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ Ρ‚Π°ΠΊΠΆΠ΅ являСтся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ). ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹ΠΉ сСрвис, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ воспроизвСсти ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠΎΠΊΠ° Π½Π΅ Π°Ρ„ΠΈΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ открытия Ρ„Π°ΠΉΠ»ΠΎΠ² Π² псСвдо Π€Π‘ /proc Π½Π΅ ΡƒΠ²Π΅Π½Ρ‡Π°Π»ΠΈΡΡŒ успСхом Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ GCC воспринимаСт ΠΈΡ… ΠΊΠ°ΠΊ пустыС Ρ„Π°ΠΉΠ»Ρ‹, Π½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· /sys Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru