Dette kan selvfølgelig være, rigtigt at dette kan ændres af klienten. Men, hvad ville du bruge det til i det tilfælde, hvor at det er ID på en guitarist, brugeren kan jo kun ændre en værdi, og få fat på en ny guitarist side.
Eller, har du set eksempler nogle andre eksempler, på hvor en side, der blev genereret dynamisk, kunne bruges til noget, den ikke var udviklet til at skulle ? (Nu bliver man jo helt nysgerrig )
Jeg har ikke testet på hans side, men forestil dig følgende scenario.
Du har side, som viser indhold udfra et id:
index.php?id=1
Hvilket serverside vil udføre en lignende sql:
select * from tabel where id=1
Nu prøver vi at smide to forskellige statements mod databasen:
index.php?id=1 and 1=2
index.php?id=1 and 1=1
Hvis vi er "heldige", så vil de to siders output, først vise os ingenting og derefter indholdet med id=1. Der er således åbent for at lave boolske tjeks på databasen!
Vi kan også tjekke boolske udtryk, med at injecte delays.
index.php?id=1 UNION SELECT IF(SUBSTRING(user_password,1,1) = CHAR(97),BENCHMARK(5000000,ENCODE('MSG','by 5 seconds')),null) FROM users WHERE user_id = 1;
Hvis brugeren med id=1 har et password der starter med 'a' forsinkes siden med 5 sekunder. Det kræver lidt info om databasens tabeller, men hvis der er åbent, så er det kun et spørgsmål om (meget) tid.
Jeg ved godt, at alt dette er lidt teoretisk. Men en dør der står på klem, er også åben.
Indlæg senest redigeret d. 16.04.2012 20:07 af Bruger #955