Dec 20, 2014 16:05
Очередной SQL Injection довольно массового характера
Обнаружив на сайте урлы вида
/album.phtml?id=340
бот злоумышленника предлагает php-шному коду к рассмотрению урлы формата например
/album.phtml?id=999999.9+%2f**%2fuNiOn%2f**%2faLl+%2f**%2f
sElEcT+%2f**%2fcAsT(0x393133353134353632312e39+as+char),%2f**%2fcAsT(0x393133353
134353632322e39+as+char),%2f**%2fcAsT(0x393133353134353632332e39+as+char),%2f**%
2fcAsT(0x393133353134353632342e39+as+char),%2f**%2fcAsT(0x393133353134353632352e
39+as+char),%2f**%2fcAsT(0x393133353134353632362e39+as+char)...
что даёт злоумышленнику возможность собрать интересующую его информацию и ею далее воспользоваться.
Так как код сайта ну ОЧЕНЬ древний, приходится лечить примерно вот такими вставками с регекспом, в который укладываются валидные URI этого конкретного сайта:
if ( !preg_match("/^id\=\d{1,3}(|\&track\=\d{1,2})$/", $_SERVER{"QUERY_STRING"})) {
...
}
В этом смысле наименее приятны как раз движки, в которых без дополнительных проверок ищется в базе человекочитаемый URI произвольной длины и практически произвольного содержания. :(
ошибки,
техника,
хостинг,
безопасность,
интернет