Jump to content
Sign in to follow this  
SuyatinovMY

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

Recommended Posts

День добрый 

 

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

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

 

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

Share this post


Link to post
Share on other sites

Version 1.5.5.1

 

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

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

Share this post


Link to post
Share on other sites

 

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

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

 

... и request.php ;)

Share this post


Link to post
Share on other sites

Файлы... 

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

request.php

request_origin.php

search_mobile.php

search_origin.php

search.php

vq2-catalog_controller_product_search.php

Share this post


Link to post
Share on other sites

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));	
  	}
} 

Share this post


Link to post
Share on other sites

...  

 

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 полный

Share this post


Link to post
Share on other sites

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

 

По поводу 

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

заменить на

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

...

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
А вот и вспомнил что было не так... Вот такие ошибки в логе. 

 

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

дубль № 2:

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.