Postat av
.Chloe
Citat:
Array-grejen var bara ett sätt att komma förbi deras filtrering. Eftersom de hade två funktioner som skulle testa samma sträng så kan du ange en array så kommer de olika värdena testas, så båda värdena kommer alltså inte att behandlas lika. Inom PHP så ska man inte koda så, man ska inte skicka runt dina variabler inom olika funktioner, för kommer du förbi en funktion så kan du antagligen komma förbi nästa.
För att testa mot detta så kan jag ge ett exempel:
Kod:
Och detta eftersom strängen "test" gick igenom kontrollerna och likaså "test2", det betyder att du kan ange ett korrekt värde i första array'n men skadlig kod i den andra. T.ex:/search.php?q=test //vanlig sök /search.php?q=test&q=test2 //test2 kommer sökas efter /search.php?q[0]=test&q[1]=test2 //test2 kommer sökas efter /search.php?q[1]=test2&q[0]=test //test2 kommer sökas efter
Kod:
/search.php?q[0]=test&q[1]={${phpcredits()}}
Så det du ska göra är att lägga ut [] och se vad funktionen behandlar, är det värdet 0 eller 1? Är det värde nummer ett så gick alltså värde nummer 0 igenom så då kan du kanske om du har enorm tur komma förbi filtreringen.