web application security testing guide
ako otvárať súbory bin v systéme Windows 8
Vďaka obrovskému množstvu údajov uložených vo webových aplikáciách a zvýšenému počtu transakcií na webe sa stáva každodenné dôležité správne testovanie bezpečnosti webových aplikácií.
V tomto článku sa podrobne dozvieme o kľúčových pojmoch používaných pri testovaní zabezpečenia webových stránok a ich testovacom prístupe.
Čo sa dozviete:
- Čo je to Testovanie bezpečnosti?
- Niektoré kľúčové pojmy používané pri testovaní bezpečnosti
- Odporúčané nástroje na testovanie bezpečnosti
- Prístup k testovaniu bezpečnosti
- Metódy testovania bezpečnosti webu
- Záver
- Odporúčané čítanie
Čo je to Testovanie bezpečnosti?
Testovanie bezpečnosti je proces, ktorý kontroluje, či dôverné údaje zostávajú dôverné alebo nie (t. j. nie je vystavený jednotlivcom / subjektom, pre ktoré to nie je určené) a používatelia môžu vykonávať iba tie úlohy, na vykonávanie ktorých sú oprávnení
Napríklad, používateľ by nemal byť schopný odoprieť funkčnosť webovej stránky iným používateľom alebo by používateľ nemal mať možnosť zmeniť funkčnosť webovej aplikácie nechceným spôsobom atď.
Niektoré kľúčové pojmy použité pri testovaní bezpečnosti
Predtým, ako budeme pokračovať, bude užitočné oboznámiť sa s niekoľkými výrazmi, ktoré sa pri testovaní bezpečnosti webových aplikácií často používajú:
Čo je to „Zraniteľnosť“?
Toto je slabina webovej aplikácie. Príčinou takejto „slabosti“ môžu byť chyby v aplikácii, injekcia (kód SQL / skript) alebo prítomnosť vírusov.
Čo je „manipulácia s URL“?
Niektoré webové aplikácie komunikujú ďalšie informácie medzi klientom (prehľadávačom) a serverom v adrese URL. Zmena niektorých informácií v adrese URL môže niekedy viesť k nechcenému správaniu servera, čo sa označuje ako Manipulácia s URL .
Čo je to „SQL injection“?
Toto je proces vkladania príkazov SQL cez užívateľské rozhranie webovej aplikácie do nejakého dotazu, ktorý potom vykoná server.
Čo je „XSS (skriptovanie medzi stránkami)“?
Keď používateľ vloží skript na strane HTML alebo klienta do používateľského rozhrania webovej aplikácie, toto vloženie je viditeľné pre ostatných používateľov a nazýva sa ako XSS .
Čo je to „spoofing“?
Vytváranie podobných webov alebo e-mailov podobných hoaxom sa nazýva Spoofing .
Odporúčané nástroje na testovanie bezpečnosti
# 1) Acunetix
softvérový balík, ktorý sa najčastejšie používa na vytváranie jednoduchých máp, je
Acunetix je end-to-end bezpečnostný skener webových aplikácií. Poskytne 360-stupňový pohľad na bezpečnosť vašej organizácie. Je schopný detekovať 6500 typov zraniteľností, ako sú injekcie SQL, XSS a slabé heslá atď. Využíva pokročilú technológiu zaznamenávania makier na skenovanie zložitých viacúrovňových formulárov.
Platforma je intuitívna a ľahko použiteľná. Môžete naplánovať a uprednostniť úplné a prírastkové kontroly. Obsahuje zabudovanú funkcionalitu pre správu zraniteľností. Pomocou nástrojov CI, ako je Jenkins, je možné nové zostavy skenovať automaticky.
=> Vyskúšajte Acunetix pre zabezpečenie webových aplikácií
# 2) Kiuwan
Nájdite a opravte chyby v kóde v každej fáze SDLC.
Kiuwan je v súlade s najprísnejšími bezpečnostnými štandardmi vrátane OWASP, CWE, SANS 25, HIPPA a ďalších.Integrujte Kiuwan do svojho IDE pre okamžitú spätnú väzbu počas vývoja. Kiuwan podporuje všetky hlavné programovacie jazyky a integruje sa s poprednými nástrojmi DevOps.
=> Naskenujte svoj kód zadarmo
Prístup k testovaniu bezpečnosti
Aby bolo možné vykonať užitočný bezpečnostný test webovej aplikácie, mal by mať bezpečnostný tester dobré znalosti o protokole HTTP.
Je dôležité pochopiť, ako klient (prehľadávač) a server komunikujú pomocou protokolu HTTP.
Okrem toho by mal tester ovládať aspoň základy SQL injection a XSS.
Dúfajme, že počet bezpečnostných chýb prítomných vo webovej aplikácii nebude vysoký. Schopnosť presne popísať všetky chyby zabezpečenia so všetkými požadovanými podrobnosťami však určite pomôže.
Metódy testovania bezpečnosti webu
# 1) Prelomenie hesla
Testovanie bezpečnosti na a Webová aplikácia sa dá naštartovať pomocou „Password Cracking“. Ak sa chcete prihlásiť do súkromných oblastí aplikácie, môžete uhádnuť používateľské meno / heslo alebo použiť rovnaký nástroj na cracknutie hesla. Zoznam bežných používateľských mien a hesiel je k dispozícii spolu s crackermi hesiel otvoreného zdroja.
Ak webová aplikácia nepresadzuje zložité heslo ( Napríklad, s abecedami, číslom a špeciálnymi znakmi alebo s aspoň požadovaným počtom znakov), nemusí trvať dlho, kým sa používateľské meno a heslo prelomí.
Ak je používateľské meno alebo heslo uložené v súboroch cookie bez šifrovania, môže útočník použiť rôzne metódy na odcudzenie súborov cookie a informácií uložených v súboroch cookie, ako je používateľské meno a heslo.
Viac podrobností nájdete v článku „ Testovanie súborov cookie webových stránok “.
# 2) Manipulácia s URL pomocou metód HTTP GET
Tester by mal skontrolovať, či aplikácia odovzdáva dôležité informácie v reťazci dotazu alebo nie. To sa stane, keď aplikácia používa na prenos informácií medzi klientom a serverom metódu HTTP GET.
Informácie sa odovzdávajú cez parametre v reťazci dotazu. Tester môže upraviť hodnotu parametra v reťazci dotazu a skontrolovať, či ju server akceptuje.
Prostredníctvom požiadavky HTTP GET sa informácie o používateľovi odovzdajú na server na účely overenia alebo načítania údajov. Útočník môže manipulovať s každou vstupnou premennou odovzdanou z tejto požiadavky GET na server, aby získal požadované informácie alebo údaje poškodil. Za takýchto podmienok je akékoľvek neobvyklé správanie sa aplikácie alebo webového servera bránou pre útočníka dostať sa do aplikácie.
# 3) SQL Injection
Ďalším faktorom, ktorý by sa mal skontrolovať, je SQL Injection. Aplikácia musí odmietnuť vloženie jednej úvodzovky („) do ľubovoľného textového poľa. Namiesto toho, ak tester zistí chybu v databáze, znamená to, že vstup používateľa je vložený do nejakého dotazu, ktorý je potom vykonaný aplikáciou. V takom prípade je aplikácia zraniteľná voči vloženiu SQL.
Útoky injekciou SQL sú veľmi dôležité, pretože útočník môže získať dôležité informácie z databázy servera. Ak chcete skontrolovať vstupné body vstrekovania SQL do svojej webovej aplikácie, vyhľadajte kód z vašej kódovej základne, kde sa prijímajú niektoré vstupy používateľa a v databáze sa vykonávajú priame dotazy MySQL.
Ak sú vstupné údaje používateľa vytvorené v dotazoch SQL na dotazovanie do databázy, útočník môže vložiť príkazy SQL alebo časť príkazov SQL ako vstupy používateľov, aby získal z databázy dôležité informácie. Aj keď je útočník úspešný pri páde aplikácie, z chyby dotazu SQL zobrazenej v prehľadávači môže útočník získať informácie, ktoré hľadá.
V takýchto prípadoch by sa so špeciálnymi znakmi zo vstupov používateľov malo správne zaobchádzať / uniknúť.
# 4) Skriptovanie medzi servermi (XSS)
Tester by mal dodatočne skontrolovať, či webová aplikácia neobsahuje XSS (skriptovanie medzi servermi). Ľubovoľný HTML Napríklad, alebo akýkoľvek scenár Napríklad, by nemali byť prihláškou akceptované. Ak je, potom môže byť aplikácia náchylná na útok skriptovaním medzi servermi.
Útočník môže pomocou tejto metódy vykonať škodlivý skript alebo adresu URL v prehliadači obete. Pomocou skriptovania medzi stránkami môže útočník pomocou skriptov, ako je JavaScript, ukradnúť súbory cookie používateľa a informácie uložené v súboroch cookie.
Mnoho webových aplikácií získa užitočné informácie a tieto informácie odovzdajú v niektorých premenných z rôznych stránok.
Napríklad, http://www.examplesite.com/index.php?userid=123 &dopyt = xyz
vr headset pre xbox one x
Útočník môže ľahko preniesť škodlivý signál alebo parameter „& query“, pomocou ktorého môže preskúmať dôležité údaje používateľa / servera v prehliadači.
Dôležité: Počas testovania zabezpečenia by mal byť tester veľmi opatrný, aby neupravoval nič z nasledujúceho:
- Konfigurácia aplikácie alebo servera
- Služby bežiace na serveri
- Údaje o existujúcich používateľoch alebo zákazníkoch hostené aplikáciou
V produkčnom systéme by sa navyše malo zabrániť testu zabezpečenia.
Záver
Účelom bezpečnostného testu je odhaliť zraniteľné miesta webovej aplikácie, aby vývojári mohli tieto zraniteľné miesta z aplikácie odstrániť a zabezpečiť tak webovú aplikáciu a údaje pred akýmkoľvek neoprávneným zásahom.
Odporúčané čítanie => Rozdiel medzi SAST / DAST / IAST / RASP
Neváhajte a podeľte sa o svoje pripomienky a návrhy týkajúce sa tohto článku.
Odporúčané čítanie
- Príručka pre začiatočníkov k testovaniu penetrácie webových aplikácií
- Testovanie bezpečnosti (kompletný sprievodca)
- Alfa testovanie a beta testovanie (kompletný sprievodca)
- Testovanie zabezpečenia siete a najlepšie nástroje zabezpečenia siete
- Najlepšie nástroje na testovanie softvéru 2021 (QA Test Automation Tools)
- Kompletný sprievodca zostavením Verification Testing (BVT Testing)
- Najlepšie 4 nástroje na testovanie bezpečnosti s otvoreným zdrojom na testovanie webových aplikácií
- Funkčné testovanie vs. Nefunkčné testovanie