Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

   Рубрики
 
 
 
 

 Форуми
» SEO и оптимизация
» Всичко за PHP и Perl
» Всичко за C, C++ и .NET
» Всичко за Java и JSP
» Всичко за SQL и MySQL
» Всичко за XHTML и CSS
» Презентация на сайтове
 Предпазване от XSS атаки и логване на атакуващия
  1. Как да се защитим от XSS
deam0n
     
Автор  deam0n (31.03.2008 17:13)  съобщение до автора
Погледнат  2139 пъти  добави към любими
Оценка  добави коментар
Гласове  2  изпрати на приятел
Коментари  (8)  абонирай се за PHP
    Страница 1 / 1

 



XSS е съкращение от Cross Site Scripting. Чудите се защо не е CSS? Еми защото CSS вече е запазено от Cascading Style Sheets.

Как работи XSS?
Това е начин за инжектиране на код в генериран HTML. Става с помоща на променливите предвани чрез метода GET или при нефилтрирано(непроверено) поле за специални символи, използвани в HTML. Основно XSS се използва за крадене на сесия или куки (coockie)

Как да се защитим от XSS
За да успеете да се предпазите от XSS атака, трябва да забраните тези символи:
< > ( ) { } + ! @ $ % * ..

Разбира се, ако вашата страница е само HTML няма нужда от притеснение, но ако използвате PHP следните редове ще ви помогнат не само да се предпазите, но и да логнете, кой е провел атаката.

В началото на вашите PHP страници вмъкнете този код:

CODE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
/* начало на кода */
$queryString = strtolower($_SERVER['QUERY_STRING']);

if (strstr($queryString,"<") OR strstr($queryString,">") OR strstr($queryString,"(") OR strstr($queryString,")") OR
strstr($queryString,"..") OR
strstr($queryString,"%") OR
strstr($queryString,"*") OR
strstr($queryString,"+") OR
strstr($queryString,"!") OR
strstr($queryString,"@")) {
$loc = $_SERVER['PHP_SELF'];
$ip = $_SERVER['REMOTE_ADDR'];
$date = date ("d-m-Y @ h:i:s");
$lfh = "log.txt";
$log = fopen ( $lfh,"a+" );
fputs ($log, "Attack Date: $date | Attacker IP: $ip | QueryString: $loc?=$queryStringn");
fclose($log);
echo "Вашата атака беше записане!";
}
/* Край на кода */
?>

Така ще направите вашия сайт по-защитен. За да видите кой и кога е атакувал, прегледайте лога си от:

URL на вашия сайт/log.txt

В последвствие може да използвате PHP скрипт, който да забрани достъпа до страницата на това IP, което е атакувало.



   


Ключови думи: PHP XSS атаки логване


Още уроци от тази рубрика


 
  • Подобни теми от myLinks
 

 1 посетител чете този урок (0 потребители и 1 гост)  
Активни потребители: ---
   
  

Еmail  
 

Има вградени методи, но те се ползват по друг начин. И кукито като се открадне може да се вземат правата върху сайта ;) Въпрос на умения!

  deam0n на 01.09.2008 11:26

... освен това в пхп си има вградени методи, които си бачкат много добре и много по-бързо от постнатия код.

  oldFogy на 28.08.2008 14:32

... не разбрах какво ще ми направи когато се сдобие с кукито ???

<script>alert(document.cookie)</script>

... според мен - нищо.

  oldFogy на 28.08.2008 14:31

Разбира се че може :)

  deam0n на 12.04.2008 10:24

Ами може ли този код да го впишем да кажем в  anti_xss.php,
и в началото на всеки мой *.php файл да напиша CODE
1
include("anti_xss.php");

  soak на 12.04.2008 00:16

Да, разбирам.

 Нещо което може да се избегне с например: strip_tags() ...

  Miro на 06.04.2008 15:35

Да кажем че имаш регистрация с лични съобщения. Изпращаш на някой потребител
CODE
1
<script>alert(1)</script>
и той ще види алерт с надпис 1. Обаче може да вземе бизквитката.
CODE
1
<script>alert(document.cookie)</script>
Това засега не е кой знае колко опасно, но представи си ако вместо alert, те препрати към негов скрипт, с който да запише  бизквитката.

Иначе може да се използва и за препращане към phishing сайтове(със същия дизайн като сайта от който е препратен потребителя) за крадене на пароли.

  deam0n на 04.04.2008 09:23

  А можеш ли да покажеш примерен код, който е уязвим от този вид атака ?

  Miro на 03.04.2008 23:13

 

 
  • Интересно от Софтуер
 



IT-PLACE.NET © 2004 - 2008