Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


SuyatinovMY

Recommended Posts

День добрый 

 

Яндекс пишет что Сайт 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
Надіслати
Поділитися на інших сайтах

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

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

 

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

Надіслати
Поділитися на інших сайтах

 

В версии 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

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

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

Надіслати
Поділитися на інших сайтах

  • 7 years later...

Может кому интересно нашел того, кто рекомендовал так сделать

https://prnt.sc/EUBhiL7TaA2L

Змінено користувачем FastOptimizer
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.