Hur till hacka en hemsida på mindre än 2 minuter (SQL Injection)
Hej och Välkommen till min en annan instructable. I detta instructable jag kommer berätta hur till hacka en webbplats i mindre än 2 minuter med hjälp av SQL Injection.
'' Jag är inte ansvarig för någon hacka gjort av någon ''
Introduktion till Sql-injektion:
En SQL-injektion är en typ av injektering där
angriparen försöker injicera godtyckliga bitar av skadliga data i inmatningsfälten ansökan, som gör att data som ska köras som en bit kod av back-end SQL server, vilket ger oönskade resultat som utvecklaren av programmet inte förutsåg när det bearbetas av programmet,. Backend-servern kan vara någon SQL server (MySQL, MSSQL, ORACLE, POSTGRESS, för att nämna några)
Angripare möjlighet att köra kod (SQL-uttryck) genom sårbara indataparametrar bemyndigar honom att interagera direkt med bakändan SQL server, därmed utnyttja nästan en komplett kompromiss av system i de flesta fall.
Varför händer SQL injection?
Generellt när ett program kommunicerar med backend
databas, det gör man i form av frågor med hjälp av en underliggande databasdrivrutinen. Denna drivrutin är beroende av den plattform som används och vilken typ av backend databas, som MYSQL, MSSQL, DB2 och ORACLE.
En generisk inloggning fråga skulle se ut så här:
"Välj Column1, Column2, Column3 från table_name WHERE username =' $variable1′ och lösenord ="$variable2′;"
Vi kan dela upp den här frågan i två delar, kod och data finns. Datasektionen är $variable1 och $variable2 och citat används runt variabeln för att definiera sträng gränsen.
Låt oss försöka gå igenom processen på ett grovt sätt. Säger i inloggningsformuläret, det användarnamn som angett är Admin och lösenord är p som samlas in av program och värdena $variable1 och $variable2 är placerade på sina respektive platser i frågan, vilket gör det något sånt här.
"Välj Column1, column2, Column3 från table_name WHERE username = 'Admin' och lösenord ='p
Nu förutsätter utvecklaren att användare av hans ansökan alltid kommer att sätta en kombination av användarnamn och lösenord för att få en giltig fråga för utvärdering av databas backend. Vad händer om användaren är skadlig och skriver in vissa tecken som har en speciell mening i frågan? Till exempel ett enda citat. Så, i stället för att Admin, han lägger Admin ", och därmed orsakar ett fel kastas av DB-drivrutinen. Varför? På grund av oparade offerten anges av användaren bryter programlogiken.