ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ΠΈ ΡΠ° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠΈ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΡΠ΅Π± ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° 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
