No, jestli není programátor úplný amatér, tak používá vázané proměnné a vy si s vaší SQL injection ani neškrtnete. Každý schopný programátor totiž zachází s SQL takto:
stmt = sql_prepare(dbh, "SELECT * FROM accounts WHERE username = ?");
sql_bind_value(stmt, 0, form_input_username, SQL_PARAM_STRING);
sql_execute(stmt);
Váš uživatelský vstup se syntaxu SQL ani nedotkne. A v horším případě (pro vás) jsou všechny takto čisté a univerzální SQL výrazy dokonce předkompilované a nabindované přímo v databázovém enginu jako package, u nichž má RDBMS předem připravený optimální access plan a které může využívat třeba 10k aplikací zároveň s nulovou režií.
Jakékoli "magické uvozovky", escapování desítek znaků a sekvencí a podobné blbosti jsou jen chatrné berličky, které "pomáhají" špatným programátorům být ještě horší.
Celý obsah článku je zvláštní. Možná by byl marginálně relevantní před 10 lety, ale dnes? Podle chvástání ve vašem perexu jsem čekal něco zcela jiného. Že třeba root.cz konečně lapil někoho fakt dobrého. O čem bude příští článek? Jak využít string format vulnerability v SSH-1.5? To vám ale asi příliš fandím... Možná by se však někde ještě taková verze našla. Že by stará SPARCstation v knihovně nějaké Kazachstánské základní školy? :)
Jestli je článek o tom, jak útočit na domácí stránky fanboyů PHP, tak beru zpět. I když ti se na víc než sdílený hosting nezmůžou a tam vám popen(), system(), passthru() ani nic podobného fungovat nebude. Tím se vám zřejmě narušil váš velkolepý plán, protože bez nich vy na serveru nespustíte jediný proces a váš sen o shellu, který byste mohl mít za 100,- ročně legitimně, opět končí v slzách. ;o)
Omlouvám se, že vám dávám tak zabrat, ale bylo to ve mně jako v koze. :) Nemyslím to zas až tak vážně. Cokoliv je lepší než ostatní články-reklamy tady. Tohle byl první článek, který jsem si přečetl po několika měsících. I když jen ironicky. Už jsem sem úplně přestal chodit.
Těším se na další díl. ;o)