- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Как удалить плохие SEO-ссылки и очистить ссылочную массу сайта
Применяем отклонение ссылок
Сервис Rookee
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Требуется аудит скрипта: проверка на всевозможные инъекции и т.д. и т.п.
Подскажите, пожалуйста, кого, желательно с репутацией (античат не предлагать).
Спасибо.
Serg_pnz,
объем скрипта? выполняемые задачи?
Чат на ajax. Объем? - ссылка в подписи.
Объем? - ссылка в подписи.
Думаю, примерное количество строчек все хотят узнать :) ВордПресс снаружи выглядит не так громоздко как внутри.
UPD: сори, не увидел "скачать" на сайте :)
Думаю, примерное количество строчек все хотят узнать :) ВордПресс снаружи выглядит не так громоздко как внутри.
UPD: сори, не увидел "скачать" на сайте :)
Ой, букаф там, в скрипте, не так много. И всё блочно...
Я готов даже консультировать специалиста по логике, ну что бы ускорить процесс.
Я готов даже консультировать специалиста по логике, ну что бы ускорить процесс.
А вот этого, ИМХО, делать не нужно. И тогда станет понятно насколько легко догадаться о логике Вашего движка, ну и как следствие взломать его.
А вот этого, ИМХО, делать не нужно. И тогда станет понятно насколько легко догадаться о логике Вашего движка, ну и как следствие взломать его.
Уговорили - консультаций не будет)) Или будут... но пока нет предложений. Нету на серче спецов?
Открыл первый попавшейся файл, взглянул на первый запрос:
$db->sql_query("UPDATE ".$prefix."_chat_users SET user_visit='".time()."', color = '#".$_GET['ncolor']."' WHERE user_name = '".$_SESSION['usersm']['1']."' ");Полез посмотреть на метод sql_query
function sql_query($query = "", $transaction = false) {unset($this->query_result);
if ($query != "") {
$tdba = explode(" ", microtime());
$tdba = $tdba[1] + $tdba[0];
$this->query_result = @mysql_query($query, $this->db_connect_id);
Красота, без фильтрации в базу. Дальше, я так понимаю, объяснять про SQL-инъекции не нужно?
UPD: Хотя сдается мне, что где-то все-таки этот GET фильтруется, но так неявно, что не поймешь - ошибка или нет. Во всяком случае потенциальная ошибка на лицо.
UPD2: По вышеприведенному коду идет разборка и запись в $_GET - моветон.
А вот здесь переопределение id не нашел :)
require_once ("../mysql.php");$db->sql_query("UPDATE ".$prefix."_chat_users SET timeout=timeout".$zap." WHERE user_name = '".$_GET['id']."' ");
$result = $db->sql_query("SELECT timeout FROM ".$prefix."_chat_users WHERE user_name = '".$_GET['id']."'");
Открыл первый попавшейся файл, взглянул на первый запрос:
$db->sql_query("UPDATE ".$prefix."_chat_users SET user_visit='".time()."', color = '#".$_GET['ncolor']."' WHERE user_name = '".$_SESSION['usersm']['1']."' ");Это закрыто тремя строками выше, просто не стал новую переменную заводить
$_GET['ncolor'] = preg_replace("#[^a-f0-9]#i", "", $_GET['ncolor']);str_pad($_GET['ncolor'], 6 , "0");
Полез посмотреть на метод sql_query
function sql_query($query = "", $transaction = false) {unset($this->query_result);
if ($query != "") {
$tdba = explode(" ", microtime());
$tdba = $tdba[1] + $tdba[0];
$this->query_result = @mysql_query($query, $this->db_connect_id);
Красота, без фильтрации в базу. Дальше, я так понимаю, объяснять про SQL-инъекции не нужно?
UPD: Хотя сдается мне, что где-то все-таки этот GET фильтруется, но так неявно, что не поймешь - ошибка или нет. Во всяком случае потенциальная ошибка на лицо.
UPD2: По вышеприведенному коду идет разборка и запись в $_GET - моветон.
Ни фига не понял))
А вот здесь переопределение id не нашел :)
require_once ("../mysql.php");$db->sql_query("UPDATE ".$prefix."_chat_users SET timeout=timeout".$zap." WHERE user_name = '".$_GET['id']."' ");
$result = $db->sql_query("SELECT timeout FROM ".$prefix."_chat_users WHERE user_name = '".$_GET['id']."'");
Это админская часть, к файлу доступ прикрыт в самом верху, поэтому такая небрежность в кодинге.
if ($_SESSION['jcrc_admin']!=1) {echo "Убить мохнатую тварь!";die();}Serg_pnz добавил 17.10.2008 в 10:18
Bor-ka, спасибо большое!
Т.е. админу можно оставлять SQL-инъекцию? Небрежности в коде не должно быть ни при каких оправданиях. Вообще кода немного, но вот стиль написания конечно ...
Понял, исправлюсь
😕