(no subject)

Oct 31, 2010 13:30

Этой ночью базу данных на одном из моих сайтов пытались похачить. (Сейчас сайт не укажу, пока всё не оттестирую и не залатаю.)

Короче, кто-то усердно вводил строку email@email.tst" OR sleep(10)# или 1 OR sleep(10)# вместо мыла на всех формах. В большинстве случаев безуспешно, но в системе напоминания пароля оказалась дырень, и база тупо повисла, заснув бесконечно, не пропуская другие запросы. Первые строчки show processlist показали такое:

+----------+------------------+-----------+----------------------+---------+-------+--------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----------+------------------+-----------+----------------------+---------+-------+--------------+------------------------------------------------------------------------------------------------------+
| 21389103 | MYUSERNAME | localhost | MYDBNAME | Query | 17059 | Sending data | SELECT user_id,pass,firstname,lastname,company,subs,active FROM user WHERE email="1" or sleep(10)#" |
| 21389150 | MYUSERNAME | localhost | MYDBNAME | Query | 17036 | Sending data | SELECT user_id,pass,firstname,lastname,company,subs,active FROM user WHERE email="1©" or sleep(10)#" |
| 21391250 | MYUSERNAME | localhost | MYDBNAME | Query | 16271 | Sending data | SELECT user.pass,user.firstname,user.lastname FROM user WHERE user.email='sample@email.tst' or sleep |

и т.д. Впрочем, этот сайт очень старый, написанный ещё в 2000 году. Скорее всего в новый сайтах я всё делал уже грамотнее.

Программеры, кто ещё не знает этой хрени — латайте дыры.
Previous post Next post
Up