Oké, dus nu weten we dat we elke
code die we willen, hier in kunnen stoppen,
en het zal worden uitgevoerd op het systeem.
Dus, laten we nu nog eens kijken naar de verklaring.
Dus de verklaring zegt, selecteer * uit accounts, waar gebruikersnaam
gelijk is aan de gebruikersnaam die we hier hebben gezet, en wachtwoord
gelijk is aan het wachtwoord dat we hier hebben gezet.
Laten we eens kijken of we dat kunnen gebruiken, om in te loggen zonder een wachtwoord te
gebruiken, zonder zelfs het wachtwoord te kennen.
En dat ga ik doen met de administratie.
Dus, de admin, de gebruikersnaam wordt admin.
En ik weet niet wat het wachtwoord is voor de admin.
Dus wat ik ga doen, ik zet gewoon iets,
dus niets echt, een willekeurig wachtwoord,
En, in de code, nou ik moet hier draaien.
Dus we doen, en 1 = 1 en, of dingen, Dus,
wat ik ga doen is, ik ga of doen,
in plaats van en.
En ik ga zeggen 1 = 1.
Dus, wat onze code wordt, zodra ik dit uitvoer,
zodra ik dit injecteer,
gaat dit hier in, zoals we eerder deden.
Dus, onze code gaat er zo uitzien, dus
het wordt.
Selecteer * van accounts, waar onze
gebruikersnaam gelijk is aan admin.
En wachtwoord is gelijk aan AAA.
Dit is verkeerd.
Of, 1 = 1, wat juist
is.
Dus, elke keer als je een of hebt, als de of conditie goed
is, is alles goed.
Zo werkt of statement.
Dus, selecteer * uit rekeningen.
Gebruiker is gelijk aan admin, oké,
gebruikersnaam is gelijk aan admin.
En wachtwoord is gelijk aan AAA, dat is fout.
Of 1 = 1, oké, dat accepteer ik.
En dan gaat het het daadwerkelijk uitvoeren,
en laat het ons inloggen in de admin zonder dat we het wachtwoord
van de admin kennen.
Dus laten we proberen dit nu te injecteren.
En zoals je kunt zien, kon ik inloggen, als admin, en
aap is de handtekening voor de admin.
Nu, bypass en inloggen kan op zoveel manieren, afhankelijk
van de code die op de pagina staat.
En afhankelijk van de manier waarop je het wilt
doen, en hoe je je de code voorstelt.
En in veel gevallen, als je het enkele citaat hier zet,
zie je dit bericht niet.
Soms zie je het wel en dat
maakt je werk zoveel makkelijker.
Zo niet, dan moet je maar raden
hoe het eruit ziet.
Dus ik ga je een ander voorbeeld van omzeilen laten zien.
In plaats van de code zo te injecteren, is de
admin parameter eigenlijk ook injecteerbaar, zoals je hebt
gezien toen ik dit enkele citaat plaatste, de
admin parameter is injecteerbaar, precies hetzelfde als het
wachtwoord.
Dus we kunnen ook code injecteren in de gebruikersnaam.
En wat ik nu ga doen, dus laten we hier eens naar kijken, en
ik ga het gewoon terugzetten naar hoe het er normaal gesproken
uitziet.
Dus, we hebben en de gebruikersnaam en het wachtwoord, uit de
velden die je hier invoert, worden
vervangen en de gebruikersnaam en het wachtwoord.
Dus, laten we proberen iets in de gebruikersnaam te
injecteren, en wat ik ga zeggen is, ik ga zeggen,
gebruikersnaam is gelijk aan admin, en
dan ga ik het citaat zelf sluiten, en dan ga
ik een commentaar toevoegen.
Dus, mijn verklaring, wanneer ik de verklaring uitvoer,
zal het er zo uitzien, en ik ga het eigenlijk
gewoon hier kopiëren.
En, als ik er een injecteer, als ik deze code hier in zet,
in mijn naam.
Het gaat dat erin injecteren,
dus zo ziet de code eruit.
Hij selecteert de accounts waar de
gebruikersnaam gelijk is aan admin.
Ik sloot het citaat zelf hier, met dit daar.
En dan voeg ik een commentaar toe, dus eigenlijk
wordt dit allemaal niet eens uitgevoerd,
dus de code wordt dit, het wordt select * van
accounts, waar gebruikersnaam
gelijk is aan admin.
En het laat me inloggen zonder een
wachtwoord in te voeren, dus
laten we dit doen.
Ik zet mijn gebruikersnaam als admin, en ik sluit
het citaat en voeg een opmerking toe.
En dan kun je elk gewenst wachtwoord invoeren.
Ik zet gewoon #1, dan
log ik in.
En zoals je kunt zien, lukte het me om in te loggen als admin.
Dus nogmaals, dit is black box testing,
dus je ziet de code niet echt.
In veel gevallen wil je ermee spelen, en
kijken hoe het bij jou werkt.
Maar het belangrijkste is dat je wilt testen of de SQL-injectie
bestaat, en dat doe je met de methode die we je in de vorige
video hebben laten zien.
Dus probeer een enkel citaat, probeer
de en verklaring, probeer ware en verklaringen,
dus 1 = 1, en dan een valse en verklaring,
dus 1 = 0, of 2 = 0, en als ze werken zoals verwacht, dan heb je
een SQL injectie, en kun je ermee
gaan spelen.