Здравствуйте, уважаемые форумчане. Столкнулся с такой забавной дырой. Крутится как error-based, тайм блинд и просто как блиндовая. Но нужно раскрутить как stacked queries.
Вот уязвимый код.
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT * FROM group WHERE name='$123'"[/COLOR][COLOR="#007700"]); if([/COLOR][COLOR="#0000BB"]$sv[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]num_rows[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$select[/COLOR][COLOR="#007700"])){ [/COLOR][COLOR="#0000BB"]$sv[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"DELETE FROM group WHERE name='$123' AND type='1' OR name='$123' AND type='0'"[/COLOR][COLOR="#007700"]); [/COLOR][COLOR="#0000BB"]$st[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"INSERT INTO logs VALUES(null, '$1234', '$123', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]"')"[/COLOR][COLOR="#007700"]); echo[/COLOR][COLOR="#DD0000"]" Разбанен"[/COLOR][COLOR="#007700"]; } else echo[/COLOR][COLOR="#DD0000"]"Ошибка"[/COLOR][COLOR="#007700"]; } else echo[/COLOR][COLOR="#DD0000"]"Ошибка"[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]?> [/COLOR][/COLOR]
Если юзать POST зпрос, натыкаемся на SELECT. Вроде как можно через Cookie внедрить stacked queries.
Условие: Запрос происходит только тогда, если в бд есть запись, в моём случае в таблице всего 3 записи = 3 попытки