mysqld 100% и старый код PHP всякого рода...

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 произвольной длины и практически произвольного содержания. :(

ошибки, техника, хостинг, безопасность, интернет

Previous post Next post
Up