Hoe de websitebeveiliging te verbeteren (xss pHp)

De ontwikkeling van een website houdt in dat de programmeur moet nadenken over beveiliging, we moeten niet alleen een beveiligde server hebben, maar ook enkele strategieën toepassen die kunnen helpen het web te beschermen. In deze tutorial wordt PHP gebruikt voor de voorbeelden, maar deze kunnen worden aangepast aan andere programmeertalen.
Gebruik maken van sessievariabelen en niet van koekjes
Een fout die veel ontwikkelaars maken, is het gebruik van koekjes, kleine tekstbestanden die informatie opslaan over onze taken op internet, toegangen, enz.
Zijn koekjes kan gemakkelijk worden gelezen vanuit elke browser, bijvoorbeeld in Firefox met firebug of in Chroom met de rechterknop gaan we naar het menu Inspecteer element.

In de afbeelding zien we een voorbeeld van hoe de programmeur een cookie heeft gemaakt voor gebruikersaanmelding en de toegangsgegevens openbaar maakt.
De volgende afbeelding is nog een slechter voorbeeld dat Google de toegangen heeft geïndexeerd met de gebruikers en wachtwoorden.

Het juiste om te doen is om sessies te gebruiken waarin de gegevens zijn gecodeerd.
 

Dit is hoe de gecodeerde sessievariabele eruit zou zien, veel veiliger omdat het moeilijk te lezen is:

phpsessid= sb85p15841p6l1dfg7oo8hlsc85;

Vervolgens controleren we op elk scherm de sessie op elke pagina die we openen, we gaan ervan uit dat het een beperkt gebied zal zijn.
 [maat = 4] [/ maat] 

Sessies zijn geen complete oplossing, zoals een andere hackmethode is Sessie kapen of Sessie spoofing. Dit gebeurt als een aanvaller de waarde van de sessie leest terwijl hij is aangemeld en deze vervolgens probeert te openen vanaf een andere computer.
Om dit te voorkomen kunnen we sessies maken die de gegevens opslaan van de apparatuur waarop de gebruiker is ingelogd.

Met de vorige code brengen we een sessie tot stand die het IP-adres en de browser opslaat van waaruit het web werd geopend, vervolgens controleren we of terwijl de sessie actief is, iemand probeert in te loggen vanaf een ander IP-adres of een andere browser geen toegang kan krijgen tot de web
 [maat = 4] [/ maat] 

Zoiets doet Facebook, als u toegang krijgt vanaf een ander apparaat of vanaf een ander IP-adres in een andere stad, omdat het wordt opgeslagen vanaf welke plaats u vaak toegang hebt.
Testgevallen van XSS en SQL-injectie
Een manier om kwetsbare websites te vinden is door in de zoekmachine info_page.php = of catalogo.php = . te plaatsen

VERGROTEN

Dit geeft ons een lijst met kwetsbare websites, elke website die eindigt op .php?Variabele = kan kwetsbaar zijn.
Om te testen of het kwetsbaar is, schrijven we de url zonder waarde in de voorbeeldvariabele:

mijndomein.com/info_page.php?id=

Als het web kwetsbaar is, zal het reageren met een mysql-fout die het volgende zal zeggen:

U hebt een fout in uw SQL-syntaxis; controleer de handleiding die overeenkomt met uw MySQL-serverversie voor de juiste syntaxis om te gebruiken in de buurt van '' op regel 1


Als we een domein met deze kwetsbaarheid vinden, kunnen we testen of we de tabel met gebruikers of beheerders kunnen vinden en hoeveel kolommen deze heeft:

www.mijndomein / info_page.php?id = -1 + union + all + select + 1,2,3, group_concat (gebruikersnaam, 0x3a,

gebruiker_wachtwoord), 5 + van + beheerders

In dit geval retourneert het het wachtwoord en de beheerder, om SQL-injectie te voorkomen, moet u de sessie gebruiken en niet de parameters per url, in het geval dat u ze gebruikt, moet u de parameters opschonen met een functie of klasse die controleert of er geen sql-opdrachten zijn, of javascript in de parameter die per formulier of url wordt verzonden.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave