Перейти к содержанию
SuyatinovMY

XSS атака на сайт

Рекомендуемые сообщения

День добрый 

 

Яндекс пишет что Сайт roksolanajewels.ru, права на который Вы подтвердили в сервисе Яндекс.Вебмастер, возможно, подвергся XSS-атаке и используется для создания мусорных страниц и ссылок на посторонние сайты.

Примеры страниц, обнаруженных нашими алгоритмами, приведены ниже.

roksolanajewels.ru/?s=%252522%25253E%25253Ch2%25253E%25253Ca%252520href
roksolanajewels.ru/?s=%252522%25253E%25253Ch2%25253E%25253Ca%252520href

 

А что это и как с этим бороться ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это пассивная xss атака. Это значит, что пройдя по

http://roksolanajewels.ru/index.php?route=product/search&search=Перейти%20на%20сайт%20автора
вот этой ссылке на Вашем сайте появится ссылка на мой блог. Т.е. фактически, Ваш сайт является донором ссылок. Пишите в ЛС данные для доступа по FTP, помогу. Изменено пользователем afwollis
overquote deleted, links fckdup :(
  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы подскажите куда посмотреть и что исправить ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вы подскажите куда посмотреть и что исправить ...

 

В контроллере поиска примените к входным данным функцию strip_tags или htmlspecialchars

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где контролер поиска? В каком файлике поправить ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А где контролер поиска? В каком файлике поправить ?

 

Напишите версию OpenCart

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да, XSS в полный рост и в самой плохой форме (и с 15 февраля так и не убрали? Да заплатите http://mail.ru'"

Кликаем на поле ввода

 

Не пойму почему класс Request "не работает", наверно заражен уже

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Version 1.5.5.1

 

В версии 1.5.5.1 такого бага нет. Пришлите сюда файлы

  • catalog/controller/product/search.php
  • vqmod/vqcache/vq2-catalog-controller-product-search.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

В версии 1.5.5.1 такого бага нет. Пришлите сюда файлы

  • catalog/controller/product/search.php
  • vqmod/vqcache/vq2-catalog-controller-product-search.php

 

... и request.php ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Файлы... 

origin это те что были из коробки, но уже по причинам которые я не помню были исправлены.

request.php

request_origin.php

search_mobile.php

search_origin.php

search.php

vq2-catalog_controller_product_search.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

request.php - найти: 


$data = mb_convert_encoding($data, 'UTF-8', mb_detect_encoding($data));

заменить на:

$data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');

Ну и мутный класс:

class ControllerProductSearchMobile extends Controller { 	
	public function index() { 		
		$query = "";
		foreach($_POST as $key => $value) {
		   $query .= '&' . $key . '=' . $value;
		}		
		
		$this->redirect($this->url->link('product/search') . $query);	
  	}
}

поменять хотя бы так:

class ControllerProductSearchMobile extends Controller { 	
	public function index() { 		
		$query = "";
		$my_post_data = $this->request->post;
		foreach($my_post_data as $key => $value) {
		   $query .= '&' . $key . '=' . $value;
		}		
		
		$this->redirect($this->url->link('product/search'. $query));	
  	}
} 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...  

 

class ControllerProductSearchMobile extends Controller { 	
	public function index() { 		
		$query = "";
		foreach($_POST as $key => $value) {
		   $query .= '&' . $key . '=' . $value;
		}		
		
		$this->redirect($this->url->link('product/search') . $query);	
  	}
}
Ну как так можно?! 

foreach($_POST as $key => $value) {
         $query .= '&' . $key . '=' . $value;
        }  
Это же просто 3.14 полный

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот вы пишите что это полный 3.14, а можно для меня на простом русском что этот код делает и чем плох ?

 

По поводу 

$data = mb_convert_encoding($data, 'UTF-8', mb_detect_encoding($data));

заменить на

$data = htmlspecialchars($data, ENT_COMPAT, 'UTF-8');

 

то раньше так и было, но потом что-то перестало работать и на форуме сказали что надо переделать на так как есть :( 

 

Спасибо всем за помощь! Исправил как рекомендуете. А как теперь проверить что все ок ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 но потом что-то перестало работать

что именно ? в 2-х словах, с тем кодом вы имеете то, что описали в терминологии "XSS-атака", разбирать же логику и каждую переменную смысла не вижу...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот вы пишите что это полный 3.14, а можно для меня на простом русском что этот код делает и чем плох ?

 

...

Это не ликбез по основам программирования.

Вы не проверяете post и передаете дальше переменные без проверки.

Baco вам четко указал, как надо делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как Васо сказал так и переделал. Ещё раз спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
А вот и вспомнил что было не так... Вот такие ошибки в логе. 

 

2015-03-01 18:12:32 - PHP Warning:  htmlspecialchars() [<a href='function.htmlspecialchars'>function.htmlspecialchars</a>]: Invalid multibyte sequence in argument in /home/r/roksolana/public_html/system/library/request.php on line 33

2015-03-01 18:12:32 - PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent by (output started at /home/r/roksolana/public_html/index.php:120) in /home/r/roksolana/public_html/system/library/session.php on line 11

2015-03-01 18:12:32 - PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/r/roksolana/public_html/index.php:120) in /home/r/roksolana/public_html/system/library/session.php on line 11

2015-03-01 18:12:32 - PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/r/roksolana/public_html/index.php:120) in /home/r/roksolana/public_html/index.php on line 200

2015-03-01 18:12:32 - PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/r/roksolana/public_html/index.php:120) in /home/r/roksolana/public_html/system/library/currency.php on line 45

2015-03-01 18:12:32 - PHP Warning:  htmlspecialchars() [<a href='function.htmlspecialchars'>function.htmlspecialchars</a>]: Invalid multibyte sequence in argument in /home/r/roksolana/public_html/system/library/request.php on line 33

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:-D  и как решение, вам было предложено "закрыть" всё через $data = mb_convert_encoding($data, 'UTF-8', mb_detect_encoding($data)); ?

 

искать надо, какой модификатор или какое действие вызывает данную ошибку и там устранять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А заменить файлами из дистрибутива?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

:-D  и как решение, вам было предложено "закрыть" всё через $data = mb_convert_encoding($data, 'UTF-8', mb_detect_encoding($data)); ?

Ну как мне помниться это я сам нашёл и применил... По другому никак эту ошибку побороть не смог.

 

А заменить файлами из дистрибутива?

Сейчас стоят файлы из дистрибутива и сыпятся ошибки...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну как мне помниться это я сам нашёл и применил... По другому никак эту ошибку побороть не смог.

 

Сейчас стоят файлы из дистрибутива и сыпятся ошибки...

дубль № 2:

когда ошибка срабатывает ? или просто при входе де на главную или на странице контактов или при рассылке сообщений клиентам магазина в админке ?

 

попробуйте грамотно диагностировать момент возникновения ошибки, а не показывать результат из журнала...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот и вспомнил что было не так... Вот такие ошибки в логе.

2015-03-01 18:12:32 - PHP Warning:  htmlspecialchars() [<a href='function.htmlspecialchars'>function.htmlspecialchars</a>]: Invalid multibyte sequence in argument in /home/r/roksolana/public_html/system/library/request.php on line 33

расслабься. к тебе ходят из чудо-поисковика/сайта/других-мест, в которых ссылки на твой ресурс в неадекватной кодировке.

доработай логирование, чтобы писалось откуда/кто/когда/и_что.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.