- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Запустили городской сайт, дали рекламу на бордах, радио, расклеили обьявления по всему городу, вобщем подошли к этому делу серьезно, и вот 1 местный умелец начал нас атаковать, добавлять в раздел обьявления и вакансии города записи вида "тест админ" во всех полях а в поле айди юзер было написано "0" мы поставили сесию на обработчик добавления (было упущение) и он зарегался и продолжил. так мы убедились что дырка действительно в этом файле, и + споймали его айпи, сейчас забанили. но на этом айпи целая сеть юзеров сидит с нашего города. так что нам срочно нужно исправить ситуацию. Если кого не затруднит прошу помощи, посмотрите пожалуйста файлик обработчик и если не сложно добавьте защиту. Вот ссылка на обработчик http://magic-8-ball.net/send.rar добавление идет аяксом, там 2 одинаковых сценария, 1 для если отклучен яваскрипт. Надеюсь мир не без добрых людей, поэтому за ранее большое спасибо, если кто-то решит отвлечся от дел и глянуть. Просто я незнаю какую проверку добавить.
Это просто... габелла. Бессмысленная и беспощадная логика - if (isset($_POST['id_user_a'])) {$id_user_a = $_POST['id_user_a']; if ($id_user_a == '') {unset($id_user_a);}} И все остальное в том же духе.
id-шники - intval
остальное - htmlspecialchars (если не нужен html и нет обработки от xss) + mysql_real_escape_string
Это просто... габелла. Бессмысленная и беспощадная логика - if (isset($_POST['id_user_a'])) {$id_user_a = $_POST['id_user_a']; if ($id_user_a == '') {unset($id_user_a);}} И все остальное в том же духе.
id-шники - intval
остальное - htmlspecialchars (если не нужен html и нет обработки от xss) + mysql_real_escape_string
Спасибо большое, но я как бы не дорос еще чтобы вас понять, а точнее я понимаю вродибы. но на риализацию (методом народного тыка) у меня уйдет несколько дней, а мы уже устали перезаливать бекап, вот я и пишу тут, чтоб на примере может кто покажет, а ответы типа: юзай тото и тото, я как бы плохо понимаю, то на что я гаразд в данный момент вы я думаю увидили.
Нда, я такого уже ну ОЧЕНЬ давно не видел :0
если юзер_айди идет тим интеджер, то достаточно
или
в остальных случаях
а вот это переписать так
if (isset($_POST['text_a'])) {$text_a = $_POST['text_a']; if ($text_a == '') {unset($text_a);}}на
а еще лучше сразу с $_POST['text_a'] работать, а не плодить переменные
Нда, я такого уже ну ОЧЕНЬ давно не видел :0
Это я с перепугу подабовлял...
Спасибо большое, я все сделал и перезалил архив, но это как я панимаю просто "почистил код", а меня атакуют sql иньекциями через этот обработчик, я не могу понять как? Я нашел такой код. нужен ли он мне в обработчике? Или это только для гет запросов и если нужен то как его внедрить?
if (!preg_match("|^[\d]+$|", $id)) {header("Location: index.php");
exit("<p>You hacker?</p>");
}
Так чтоли?
if (!preg_match("|^[\d]+$|", $id_user_a, $ip_user_a, $id_class_a, $tip_class_a, $header_a, $contact_a, $text_a, $date_end_a)) {header("Location: index.php");
exit("<p>You hacker?</p>");
}
Кстати "hacker" уже отписал вконтакте, хочет денег... (пока только намекает) обидно, в одном городе живем...
Zion-i2, как-то так http://pastebin.com/yZBCDiWm
а меня атакуют sql иньекциями через этот обработчик, я не могу понять как?
При всем говнокодости этого говнокода, инъекцию здесь не возможно провести.
Кстати "hacker" уже отписал вконтакте, хочет денег... (пока только намекает) обидно, в одном городе живем...
[offtop]
"Да на кол его" (с)
----
Вспомнил название недавней темы
[/offtop]
При всем говнокодости этого говнокода, инъекцию здесь не возможно провести.
Я тоже так думал, пока в поле для текста обьявления не добавил вот этот простой и безобидный запрос
то есть я заполнин все поля а в поле для текста этот запрос, и добавилось обьявление со всеми полями пустыми, только дата добавления была прописана и нули там где айдишники.... а это
<?php
$result = mysql_query("INSERT INTO announce_data (id_class_a, id_user_a, header_a, contact_a, text_a, date_add_a, date_end_a, tip_class_a) VALUES ('$id_class_a', '$id_user_a', '$header_a', '$contact_a', '$text_a', '$date_add_a', '$date_end_a', '$tip_class_a')");
?>
должно было вывестись как простой текст, вобщем я изучяя эти sql иньекции пол ночи, понял что у меня формы дырявые и он через них делал запросы.
UPD: Все работает, теперь все сценарии добавляются как текст. Но у него какойто софт так как он добавлял по 100 обьявлений чють ли не в секунду. теперь думаем как сделать ограничение на добавление обьявлений например максимум 3 в сутки с одного айпи.
Если хакер живет по соседству - накатать на него заяву в полицию. И выложить на сайте скан заявы. Школьник этот испугается, получит ремня от родителей. А у вас будет больше времени на поиск и устранение уязвимостей.
олько дата добавления была прописана и нули там где айдишники.... а это
Естественно нули, если у вас айдишник поле int, а переменную вы не приводите к типу int. Что будет если передать в качестве ид строку?.. (риторический вопрос)
Кстати "hacker" уже отписал вконтакте, хочет денег... (пока только намекает) обидно, в одном городе живем...
Не знаю целиком вашей ситуации но похоже вы адов неадекват.
Бюджет на рекламу есть:
Запустили городской сайт, дали рекламу на бордах, радио, расклеили обьявления по всему городу, вобщем подошли к этому делу серьезно
Ну ладно в целях "экономии" на кодере сэкономили что норм в принципе, но человек набивается в тестеры, не зловредит, в открытую записи со словом "тест" создает подавая сигналы о проблеме.
Дайте ему немного бобла с полным раскрытием инфы что накопал, не жмотьтесь, и скажите спасибо что в этот раз он а не кто-то другой который вам дороже обойдется.