Төслийн хил хязгаарт
Snuffleupagus нь аюулгүй байдлыг нэмэгдүүлэхийн тулд стандарт загваруудыг ашиглах, мөн оролтын өгөгдөл болон функцын параметрүүдийг хянах өөрийн дүрмийг бий болгох боломжийг олгодог дүрмийн системээр хангадаг. Жишээлбэл, "sp.disable_function.function("систем").param("command").value_r("[$|;&`\\n]").drop();" дүрэм. програмыг өөрчлөхгүйгээр system() функцын аргументуудад тусгай тэмдэгт ашиглахыг хязгаарлах боломжийг танд олгоно. Үүний нэгэн адил та үүсгэж болно
Хөгжүүлэгчдийн хийсэн туршилтын дагуу Snuffleupagus нь гүйцэтгэлийг бараг бууруулдаггүй. Өөрийнхөө аюулгүй байдлыг хангахын тулд (хамгаалалтын давхарга дахь боломжит эмзэг байдал нь халдлагын нэмэлт вектор болж болно) төсөл нь янз бүрийн хуваарилалт дахь үйлдэл тус бүрийг сайтар шалгаж, статик шинжилгээний системийг ашигладаг бөгөөд аудитыг хялбарчлахын тулд кодыг боловсруулж, баримтжуулдаг. .
Асуудал,
PHP-ийн хамгаалалтыг нэмэгдүүлэх горимуудаас дараахь зүйлийг дэмжинэ.
- Cookies-д зориулсан "аюулгүй" болон "samesite" (CSRF хамгаалалт) тугуудыг автоматаар идэвхжүүлэх,
шифрлэлт Жигнэмэг - Халдлагын ул мөр, эвдэрсэн програмуудыг илрүүлэх дүрмийн багц;
- Глобал идэвхжүүлэх горимыг албадах "
хатуу » (жишээ нь, бүхэл тоон утгыг аргумент болгон хүлээж байхад мөрийг зааж өгөх оролдлогыг блоклодог) болонтөрлийн заль мэх ; - Өгөгдмөлөөр блоклодог
протоколд зориулсан боодол (жишээлбэл, "phar: //" -ийг хориглох) цагаан жагсаалтын дагуу тэдний тодорхой зөвшөөрөлтэйгээр; - Бичих боломжтой файлуудыг ажиллуулахыг хориглох;
- Үнэлгээний хар ба цагаан жагсаалт;
- Ашиглахдаа TLS сертификатын баталгаажуулалтыг идэвхжүүлнэ үү
буржгар; - Цувралжуулсан объектуудад HMAC-г нэмэх нь анхны програмын хадгалсан өгөгдлийг сэргээж байгаа эсэхийг баталгаажуулах;
- Хүсэлтийн бүртгэлийн горим;
- XML баримт дахь холбоосуудаас libxml-д гадаад файлуудыг ачаалахыг хориглох;
- Байршуулсан файлуудыг шалгах, сканнердахын тулд гадаад зохицуулагчийг (upload_validation) холбох чадвар;
Энэхүү төслийг Францын томоохон хостинг операторуудын нэгний дэд бүтцэд хэрэглэгчдийг хамгаалах зорилгоор бүтээж ашигласан.
"sp.readonly_exec.enable()".
Эх сурвалж: opennet.ru