Как да подобрим сигурността на уебсайта (xss pHp)

Разработването на уебсайт предполага, че програмистът трябва да мисли за сигурността, ние трябва не само да имаме защитен сървър, но и да прилагаме някои стратегии, които могат да помогнат за защитата на мрежата. В този урок PHP ще се използва за примерите, но те могат да бъдат адаптирани към други езици за програмиране.
Използвайте променливи на сесията И не от бисквитки
Една грешка, която правят много разработчици, е използването бисквитки, малки текстови файлове, които да съхраняват информация за нашите задачи в интернет, достъп и т.н.
Са бисквитки може лесно да се чете от всеки браузър, например в Firefox с firebug или в Chrome с десния бутон след това отиваме в менюто Инспектирай елемента.

На изображението можем да видим пример за това как програмистът е създал бисквитка за влизане на потребител и излага публично данните за достъп.
Следното изображение е друг по -лош пример, че Google индексира достъпите с потребители и пароли.

Правилното нещо, което трябва да направите, е да използвате сесии, където данните са кодирани.
 

Ето как би изглеждала кодираната променлива на сесията, много по -сигурна, тъй като е трудна за четене:

phpsessid= sb85p15841p6l1dfg7oo8hlsc85;

След това на всеки екран проверяваме сесията на всяка отворена страница, приемаме, че тя ще бъде ограничена зона.
 [размер = 4] [/ размер] 

Сесиите не са цялостно решение, както е друг метод за хакерство Отвличане на сесия или Подмяна на сесия. Това се случва, ако нападателят прочете стойността на сесията, докато е влязъл в профила си, и след това се опита да получи достъп до нея от друг компютър.
За да избегнем това, можем да създадем сесии, които запазват данните на оборудването, където потребителят е влязъл.

С предишния код установяваме сесия, която запазва IP адреса и браузъра, откъдето е осъществен достъп до мрежата, след което проверяваме дали докато сесията е активна, някой се опитва да влезе от друг IP или друг браузър няма да има достъп до мрежа
 [размер = 4] [/ размер] 

Нещо подобно прави Facebook, ако осъществявате достъп от друго устройство или от друг IP адрес в друг град, тъй като той записва от кое място имате често достъп.
Тестови случаи на XSS и SQL инжектиране
Един от начините да намерите уязвими уебсайтове е да поставите в търсачката info_page.php = или catalogo.php =

Увеличете

Това ще ни даде списък с уязвими уебсайтове, всеки уебсайт, който завършва с .php? Променлива = може да бъде уязвим.
За да проверим дали е уязвим, пишем url без стойност в примерната променлива:

mydomain.com/info_page.php?id=

Ако мрежата е уязвима, тя ще отговори с грешка в mysql, която ще каже следното:

Имате грешка в синтаксиса на SQL; проверете ръководството, което съответства на версията на вашия MySQL сървър, за правилния синтаксис, който да използвате близо до „“ на ред 1


Ако открием домейн с тази уязвимост, можем да тестваме, ако намерим таблицата с потребители или администратори и колко колони има:

www.mydomain / info_page.php? id = -1 + съюз + всички + изберете + 1,2,3, group_concat (потребителско_име, 0x3a,

потребител_парола), 5+ от + администратори

В този случай той ще върне паролата и потребителя на администратор, за да избегнете инжектирането на SQL, трябва да използвате сесия, а не параметри чрез url, в случай че ги използвате, изчистете параметрите с някаква функция или клас, който проверява, че няма команди sql, или javascript в параметъра, който се изпраща чрез формуляр или чрез url.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave