ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΡΡΡΠΈΠ΅ Π²ΡΠΏΡΡΠΊΠΈ web-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Django 4.0.6 ΠΈ 3.2.14, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΡΠ°Π½Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2022-34265), ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠ²ΠΎΠ΅Π³ΠΎ SQL-ΠΊΠΎΠ΄Π°. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ kind ΠΈ lookup_name, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Trunc(kind) ΠΈ Extract(lookup_name). ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ lookup_name ΠΈ kind ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π½Π΅ Π·Π°ΡΡΠ°Π³ΠΈΠ²Π°Π΅Ρ.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π° ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ
ΡΡΠ½ΠΊΡΠΈΠΉ Extract ΠΈ Trunc ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΡΠ»ΠΈΡΠ½ΡΡ
ΠΎΡ Π±ΡΠΊΠ², ΡΠΈΡΡ, «-«, «_», «(» ΠΈ «)». Π Π°Π½Π΅Π΅ Π² ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ
Π½Π΅ Π²ΡΡΠ΅Π·Π°Π»Π°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΡΠ½Π°Ρ ΠΊΠ°Π²ΡΡΠΊΠ°, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ»ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ²ΠΎΠΈ SQL-ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π²ΠΈΠ΄Π° «day’ FROM start_datetime)) OR 1=1;—» ΠΈ «year’, start_datetime)) OR 1=1;—«. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ 4.1 ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈΠ»ΠΈΡΡ Π·Π°ΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Ρ, Π½ΠΎ Π²Π½Π΅ΡΡΠ½Π½ΡΠ΅ Π² API ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΡΠΎ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ Π±ΡΠΊΠ΅Π½Π΄Π°ΠΌΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru