Kā novērst failu augšupielādes ievainojamības

Kā novērst failu augšupielādes ievainojamības
Tādi lasītāji kā jūs palīdz atbalstīt MUO. Veicot pirkumu, izmantojot saites mūsu vietnē, mēs varam nopelnīt filiāles komisiju. Lasīt vairāk.

Failu augšupielādes moduļi ir viena no vājākajām tīmekļa lietojumprogrammu saitēm. Jebkādas pieļautās kļūdas, pat tādas, kuras uzskatāt par mazām, var izraisīt servera kontroli, kas nonāk tieši kiberuzbrucēja rokās. Šī iemesla dēļ programmatūras izstrādātājiem ir jāzina visizplatītākās kļūdas un dažas uzbrukuma metodes, kas var rasties.





DIENAS VIDEO MAKEUSEOF

Tātad, kas ir klienta puses manipulācijas? Kā ar to cīnīties, lai nodrošinātu savu vietņu un lietotāju drošību?





Kas ir klienta puses manipulācijas?

Klienta puses manipulācijas ir tīmekļa lietojumprogrammu uzbrukumu pamatjēdziens kopumā. Vienkārši sakot, tas nozīmē, ka vairs nevarat uzticēties nevienam lietotājam nosūtītajiem datiem. Turklāt klienta puses manipulācijas ir viens no drošas lietojumprogrammu izstrādes pamatiem. Ja pārbaudāt failu augšupielādes moduli, ar kuru jums ir darīšana, un apsverat klienta puses manipulācijas, dati, kuriem nevarat uzticēties, ietver:





  • Augšupielādētā faila nosaukums.
  • Augšupielādētā faila satura veids.

Šie divi priekšmeti ir kur jums ir iespēja iekļaut baltajā sarakstā kā programmatūras izstrādātājs. Augšupielādētā faila nosaukuma datos var būt ietverts jebkas ar klienta puses manipulācijām. Izmantojot augšupielādētā faila satura tipa datus, pat tad, ja uzbrucējs augšupielādē .exe failu, šis fails sistēmā var parādīties kā attēls/jpeg.

Faila paplašinājums un baltais saraksts

 Sistēmā augšupielādēto failu paplašinājumu pārbaude

Izstrādājot failu augšupielādes moduļus, pirmā lieta, kas jādara, ir faila paplašinājuma baltajā sarakstā . Piemēram, lietotājs vēlas augšupielādēt failu ar nosaukumu 'muo.jpeg'. Jums ir jāpārliecinās, vai šī faila paplašinājums, ko lietotājs vēlas augšupielādēt, ir .jpeg. Lai to izdarītu, sistēmai ir jāpārbauda augšupielādētais fails un jāpārbauda, ​​​​vai tas ir viens no atļautajiem faila paplašinājumiem. Lai saprastu, kā to izdarīt, pārbaudiet šo vienkāršo PHP kodu:



$file_parts = pathinfo($filename);
switch($file_parts['extension'])
{
case "jpg":
break;

case "bat": // Or exe, dll, so, etc.
break;

case "":
case NULL: // No file extension
break;
}

To var izdarīt ar koda bloku, kas ir līdzīgs iepriekšminētajam, vai arī varat izmantot klases un funkcijas, ko nodrošina jūsu izmantotais ietvars.