{"id":88992,"date":"2020-07-17T07:42:02","date_gmt":"2020-07-17T05:42:02","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/wapiti-proverka-sajta-na-uyazvimosti-svoimi-silami"},"modified":"2020-07-17T07:42:02","modified_gmt":"2020-07-17T05:42:02","slug":"wapiti-proverka-sajta-na-uyazvimosti-svoimi-silami","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/wapiti-proverka-sajta-na-uyazvimosti-svoimi-silami","title":{"rendered":"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/c52b58a326ba424d73a93614818c82f5.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nV minulosti <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/news\/t\/507776\/\">\u010dl\u00e1nku<\/a><\/noindex> povedali sme o <strong>Nemesida WAF Free<\/strong> \u2014 bezplatn\u00fd n\u00e1stroj na ochranu webov\u00fdch str\u00e1nok a API pred hackersk\u00fdmi \u00fatokmi, a v tomto \u010dl\u00e1nku sme sa rozhodli spravi\u0165 preh\u013ead popul\u00e1rneho skenera zranite\u013enost\u00ed <noindex><a rel=\"nofollow\" href=\"https:\/\/wapiti.sourceforge.io\/\">Wapiti<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Sk\u00famanie webovej str\u00e1nky na zranite\u013enosti je nevyhnutn\u00fdm krokom, ktor\u00fd v kombin\u00e1cii s anal\u00fdzou zdrojov\u00e9ho k\u00f3du umo\u017e\u0148uje zhodnoti\u0165 \u00farove\u0148 jej ochrany pred hrozbami. Sk\u00famanie webov\u00e9ho zdroja je mo\u017en\u00e9 vykona\u0165 pomocou \u0161pecializovan\u00e9ho n\u00e1stroja.<\/p>\n<p><\/p>\n<p>Nikto, W3af (nap\u00edsan\u00fd v Pythone 2.7, ktor\u00e9mu skon\u010dila podpora) alebo Arachni (od febru\u00e1ra u\u017e nie je podporovan\u00fd) \u2014 najpopul\u00e1rnej\u0161ie rie\u0161enia v bezplatnej sf\u00e9re. Samozrejme, existuj\u00fa aj in\u00e9, napr\u00edklad Wapiti, na ktorom sme sa rozhodli zastavi\u0165.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"wapiti-rabotaet-so-sleduyuschimi-tipami-uyazvimostey\">Wapiti pracuje s nasleduj\u00facimi typmi zranite\u013enost\u00ed:<\/h3>\n<p><\/p>\n<ul>\n<li>zverejnenie s\u00faboru (miestne a vzdialen\u00e9, fopen, readfile);<\/li>\n<li>injekcie (PHP \/ JSP \/ ASP \/ SQL injekcie a XPath injekcie);<\/li>\n<li>XSS (cross-site scripting) (odrazene a trval\u00e9);<\/li>\n<li>objavovanie a vykon\u00e1vanie pr\u00edkazov (eval(), system(), passtru());<\/li>\n<li>CRLF injekcie (rozdelenie HTTP odpoved\u00ed, fix\u00e1cia rel\u00e1cie);<\/li>\n<li>XXE (XML external entity) injekcia;<\/li>\n<li>SSRF (server-side request forgery);<\/li>\n<li>pou\u017e\u00edvanie zn\u00e1mych potenci\u00e1lne nebezpe\u010dn\u00fdch s\u00faborov (v\u010faka datab\u00e1ze Nikto);<\/li>\n<li>slab\u00e9 konfigur\u00e1cie .htaccess, ktor\u00e9 mo\u017eno ob\u00eds\u0165;<\/li>\n<li>pr\u00edtomnos\u0165 z\u00e1lohovac\u00edch s\u00faborov, ktor\u00e9 odha\u013euj\u00fa d\u00f4vern\u00e9 inform\u00e1cie (zverejnenie zdrojov\u00e9ho k\u00f3du);<\/li>\n<li>Shellshock;<\/li>\n<li>otvoren\u00e9 presmerovania;<\/li>\n<li>nestandardn\u00e9 HTTP met\u00f3dy, ktor\u00e9 m\u00f4\u017eu by\u0165 povolen\u00e9 (PUT).<\/li>\n<\/ul>\n<p><\/p>\n<h4 id=\"vozmozhnosti\">Mo\u017enosti:<\/h4>\n<p><\/p>\n<ul>\n<li>podpora HTTP, HTTPS a SOCKS5 proxy;<\/li>\n<li>autentifik\u00e1cia pomocou viacer\u00fdch met\u00f3d: Basic, Digest, Kerberos alebo NTLM;<\/li>\n<li>mo\u017enos\u0165 obmedzi\u0165 rozsah skenovania (dom\u00e9na, prie\u010dinok, str\u00e1nka, URL adresa);<\/li>\n<li>automatick\u00e9 odstr\u00e1nenie jedn\u00e9ho z parametrov v URL;<\/li>\n<li>viacero opatren\u00ed proti nekone\u010dn\u00fdm cyklom skenovania (pr\u00edklad: ifor, obmedzenie hodn\u00f4t pre parameter);<\/li>\n<li>mo\u017enos\u0165 nastavi\u0165 prioritu pre sk\u00famanie URL adries (aj ke\u010f nie s\u00fa v rozsahu skenovania);<\/li>\n<li>mo\u017enos\u0165 vyl\u00fa\u010di\u0165 niektor\u00e9 URL adresy zo skenovania a \u00fatokov (napr\u00edklad: URL logout);<\/li>\n<li>import s\u00faborov cookie (z\u00edskanie ich pomocou n\u00e1stroja wapiti-getcookie);<\/li>\n<li>mo\u017enos\u0165 aktivova\u0165\/deakt\u00edvova\u0165 kontrolu SSL certifik\u00e1tov;<\/li>\n<li>mo\u017enos\u0165 extrahova\u0165 URL z JavaScriptu (ve\u013emi jednoduch\u00fd JS interpretor);<\/li>\n<li>interakcia s HTML5;<\/li>\n<li>nieko\u013eko vari\u00e1nt riadenia spr\u00e1vania a obmedzen\u00ed crawlera;<\/li>\n<li>nastavenie maxim\u00e1lneho \u010dasu pre proces skenovania;<\/li>\n<li>pridanie niektor\u00fdch prisp\u00f4sobite\u013en\u00fdch HTTP hlavi\u010diek alebo nastavenie vlastn\u00e9ho User-Agent.<\/li>\n<\/ul>\n<p><\/p>\n<h4 id=\"dopolnitelnye-vozmozhnosti\">\u010eal\u0161ie mo\u017enosti:<\/h4>\n<p><\/p>\n<ul>\n<li>vytv\u00e1ranie spr\u00e1v o zranite\u013enostiach v r\u00f4znych form\u00e1toch (HTML, XML, JSON, TXT);<\/li>\n<li>pozastavenie a obnovenie skenovania alebo \u00fatoku (mechanizmus rel\u00e1cie pomocou datab\u00e1z SQLite3);<\/li>\n<li>zv\u00fdraznenie v termin\u00e1li pre upozornenie na zranite\u013enos\u0165;<\/li>\n<li>r\u00f4zne \u00farovne logovania;<\/li>\n<li>r\u00fdchly a jednoduch\u00fd sp\u00f4sob aktiv\u00e1cie \/ deaktiv\u00e1cie \u00fatokov\u00fdch modulov.<\/li>\n<\/ul>\n<p><\/p>\n<h3 id=\"ustanovka\">In\u0161tal\u00e1cia<\/h3>\n<p><\/p>\n<p>Aktu\u00e1lnu verziu Wapiti je mo\u017en\u00e9 nain\u0161talova\u0165 dvoma sp\u00f4sobmi:<\/p>\n<p><\/p>\n<ul>\n<li>stiahnite si zdrojov\u00fd k\u00f3d z ofici\u00e1lneho <noindex><a rel=\"nofollow\" href=\"https:\/\/wapiti.sourceforge.io\/\">webu<\/a><\/noindex> a spustite in\u0161tala\u010dn\u00fd skript, predt\u00fdm nain\u0161talujte Python3;<\/li>\n<li>pomocou pr\u00edkazu pip3 install wapiti3.<\/li>\n<\/ul>\n<p><\/p>\n<p>Po tomto bude Wapiti pripraven\u00fd na pr\u00e1cu.<\/p>\n<p><\/p>\n<h3 id=\"rabota-s-instrumentom\">Pr\u00e1ca s n\u00e1strojom<\/h3>\n<p><\/p>\n<p>Na demon\u0161tr\u00e1ciu pr\u00e1ce Wapiti budeme pou\u017e\u00edva\u0165 \u0161peci\u00e1lne pripraven\u00fd testovac\u00ed server sites.vulns.pentestit.ru (intern\u00fd zdroj), obsahuj\u00faci r\u00f4zne zranite\u013enosti (Injection, XSS, LFI\/RFI) a in\u00e9 nedostatky webov\u00fdch aplik\u00e1ci\u00ed. <\/p>\n<p><\/p>\n<p><strong>Inform\u00e1cie s\u00fa poskytovan\u00e9 v\u00fdlu\u010dne na informa\u010dn\u00e9 \u00fa\u010dely. Nedodr\u017eiavajte z\u00e1kony!<\/strong><\/p>\n<p><\/p>\n<p>Z\u00e1kladn\u00fd pr\u00edkaz na spustenie skeneru:<\/p>\n<p><\/p>\n<pre><code class=\"bash\"># wapiti -u &lt;target&gt; &lt;options&gt;<\/code><\/pre>\n<p><\/p>\n<p>Z\u00e1rove\u0148 je k dispoz\u00edcii dos\u0165 podrobn\u00e1 pomoc s mno\u017estvom volieb spustenia, napr\u00edklad:<\/p>\n<p><\/p>\n<p><strong>\u2014rozsah<\/strong> \u2014 oblas\u0165 aplik\u00e1cie<br \/>\nAk sa spolu s URL pre skenovanie uvedie parameter scope, je mo\u017en\u00e9 regulova\u0165 oblas\u0165 skenovania str\u00e1nky, ur\u010di\u0165 ako samostatn\u00fa str\u00e1nku, tak aj v\u0161etky str\u00e1nky, ktor\u00e9 sa na str\u00e1nke n\u00e1jdu.<\/p>\n<p><\/p>\n<p><strong>-s<\/strong> a <strong>-x<\/strong> \u2014 parametre pridania alebo odstr\u00e1nenia konkr\u00e9tnych URL adries. Tieto parametre s\u00fa u\u017eito\u010dn\u00e9, ke\u010f je potrebn\u00e9 prida\u0165 alebo odstr\u00e1ni\u0165 konkr\u00e9tnu URL adresu v procese skenovania.<\/p>\n<p><\/p>\n<p><strong>\u2014presko\u010di\u0165<\/strong> \u2014 uveden\u00fd parameter s t\u00fdmto k\u013e\u00fa\u010dom bude skenovan\u00fd, ale nebude napadnut\u00fd. U\u017eite\u010dn\u00e9, ak existuj\u00fa nejak\u00e9 nebezpe\u010dn\u00e9 parametre, ktor\u00e9 je lep\u0161ie vynecha\u0165 pri skenovan\u00ed.<\/p>\n<p><\/p>\n<p><strong>\u2014overi\u0165-ssl<\/strong> \u2014 zapnutie alebo vypnutie overovania certifik\u00e1tu.<br \/>\nModul\u00e1rny skener Wapiti. Av\u0161ak na spustenie konkr\u00e9tnych modulov, ktor\u00e9 s\u00fa automaticky pripojen\u00e9 po\u010das pr\u00e1ce skeneru, je potrebn\u00e9 pou\u017ei\u0165 k\u013e\u00fa\u010d -m a vymenova\u0165 po\u017eadovan\u00e9 moduly oddelen\u00e9 \u010diarkou. Ak sa k\u013e\u00fa\u010d nepou\u017eije, bud\u00fa predvolene fungova\u0165 v\u0161etky moduly. V najjednoduch\u0161ej forme to bude vyzera\u0165 takto:<\/p>\n<p><\/p>\n<pre><code class=\"bash\"># wapiti -u http:\/\/sites.vulns.pentestit.ru\/ -m sql,xss,xxe<\/code><\/pre>\n<p><\/p>\n<p>Tento pr\u00edklad pou\u017eitia znamen\u00e1, \u017ee budeme pou\u017e\u00edva\u0165 iba moduly SQL, XSS a XXE pri skenovan\u00ed cie\u013ea. Okrem toho je mo\u017en\u00e9 filtrova\u0165 pr\u00e1cu modulov v z\u00e1vislosti od po\u017eadovanej met\u00f3dy. Napr\u00edklad <strong>-m \"xss: get, blindsql: post, xxe: post\"<\/strong>. V takom pr\u00edpade sa modul <strong>xss<\/strong> pou\u017eije na po\u017eiadavky zaslan\u00e9 met\u00f3dou GET, zatia\u013e \u010do modul <strong>blibdsql<\/strong> \u2014 na POST po\u017eiadavky at\u010f. Mimochodom, ak niektor\u00fd modul, ktor\u00fd bol zahrnut\u00fd do zoznamu, nebol potrebn\u00fd po\u010das skenovania alebo trv\u00e1 ve\u013emi dlho, m\u00f4\u017eete stla\u010den\u00edm kombin\u00e1cie Ctrl+C presko\u010di\u0165 aktu\u00e1lne pou\u017e\u00edvanie modulu a vybra\u0165 si pr\u00edslu\u0161n\u00fa mo\u017enos\u0165 v interakt\u00edvnom menu.<\/p>\n<p><\/p>\n<p>Wapiti podporuje prenos po\u017eiadaviek cez proxy server pomocou k\u013e\u00fa\u010da <strong>-p<\/strong> a autentifik\u00e1ciu na cie\u013eovej str\u00e1nke prostredn\u00edctvom parametra <strong>-a<\/strong>. Taktie\u017e je mo\u017en\u00e9 zada\u0165 typ autentifik\u00e1cie: <strong>Basic<\/strong>, <strong>Digest<\/strong>, <strong>Kerberos<\/strong> a <strong>NTLM<\/strong>. Pre posledn\u00e9 dva m\u00f4\u017ee by\u0165 potrebn\u00e9 nain\u0161talova\u0165 \u010fal\u0161ie moduly. Okrem toho je mo\u017en\u00e9 vklada\u0165 do po\u017eiadaviek ak\u00e9ko\u013evek hlavi\u010dky (vr\u00e1tane vlastn\u00e9ho <strong>User-Agent<\/strong>) a mnoho \u010fal\u0161ieho.<\/p>\n<p><\/p>\n<p>Na pou\u017eitie autentifik\u00e1cie m\u00f4\u017eete vyu\u017ei\u0165 n\u00e1stroj <strong>wapiti-getcookie<\/strong>. S jeho pomocou formujeme <strong>cookie<\/strong>, ktor\u00e9 Wapiti bude pou\u017e\u00edva\u0165 pri skenovan\u00ed. Formovanie <strong>cookie<\/strong> sa vykon\u00e1va pomocou pr\u00edkazu:<\/p>\n<p><\/p>\n<pre><code class=\"bash\"># wapiti-getcookie -u http:\/\/sites.vulns.pentestit.ru\/login.php -c cookie.json<\/code><\/pre>\n<p><\/p>\n<p>Po\u010das pr\u00e1ce v interakt\u00edvnom re\u017eime odpoved\u00e1me na ot\u00e1zky a uv\u00e1dzame potrebn\u00e9 inform\u00e1cie, ako s\u00fa: u\u017e\u00edvate\u013esk\u00e9 meno, heslo a in\u00e9:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/1f858db74cd11b0837d0aeca890af816.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Na v\u00fdstupe dostaneme s\u00fabor vo form\u00e1te JSON. \u010eal\u0161ou mo\u017enos\u0165ou \u2014 prida\u0165 v\u0161etky potrebn\u00e9 inform\u00e1cie cez parameter <strong>-d<\/strong>:<\/p>\n<p><\/p>\n<pre><code class=\"bash\"># wapiti-getcookie - http:\/\/sites.vulns.pentestit.ru\/login.php -c cookie.json -d &quot;username=admin&amp;password=admin&amp;enter=submit&quot;<\/code><\/pre>\n<p><\/p>\n<p>V\u00fdsledok bude rovnak\u00fd:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/87e0923c3027bdda5f1ccf0d4e08a10f.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pri poh\u013eade na z\u00e1kladn\u00fa funkcionalitu skeneru sa kone\u010dn\u00fdm po\u017eiadavkom na vykonanie testovania webovej aplik\u00e1cie v na\u0161om pr\u00edpade stal:<\/p>\n<p><\/p>\n<pre><code class=\"bash\"># wapiti --level 1 -u http:\/\/sites.vulns.pentestit.ru\/ -f html -o \/tmp\/vulns.html -m all --color -\u0441 cookie.json --scope folder --flush-session -A 'Pentestit Scans' -p http:\/\/proxy.office.pentestit.ru:3128<\/code><\/pre>\n<p><\/p>\n<p>kde medzi ostatn\u00fdmi parametrami:<\/p>\n<p><\/p>\n<p><strong>-f<\/strong> a <strong>-o<\/strong> \u2014 form\u00e1t a cesta na ulo\u017eenie spr\u00e1vy;<\/p>\n<p><\/p>\n<p><strong>-m<\/strong> \u2014 pripojenie v\u0161etk\u00fdch modulov \u2014 neodpor\u00fa\u010da sa, preto\u017ee to ovplyvn\u00ed \u010das testovania a ve\u013ekos\u0165 spr\u00e1vy;<\/p>\n<p><\/p>\n<p><strong>\u2014farba<\/strong> \u2014 zv\u00fdrazni\u0165 n\u00e1jden\u00e9 zranite\u013enosti pod\u013ea ich z\u00e1va\u017enosti pod\u013ea verzie samotn\u00e9ho Wapiti;<\/p>\n<p><\/p>\n<p><strong>-c<\/strong> \u2014 pou\u017eitie s\u00faboru s <strong>cookie<\/strong>, generovan\u00e9 pomocou <strong>wapiti-getcookie<\/strong>; <\/p>\n<p><\/p>\n<p><strong>\u2014rozsah<\/strong> \u2014 v\u00fdber cie\u013ea \u00fatoku. Po zvolen\u00ed variantu <strong>folder<\/strong> sa bude skenova\u0165 a \u00fato\u010di\u0165 na ka\u017ed\u00fa URL adresu, za\u010d\u00ednaj\u00fac od z\u00e1kladnej. Z\u00e1kladn\u00e1 URL mus\u00ed ma\u0165 lomku (bez n\u00e1zvu s\u00faboru);<\/p>\n<p><\/p>\n<p><strong>\u2014vymaza\u0165-sesiu<\/strong> \u2014 umo\u017e\u0148uje uskuto\u010dni\u0165 op\u00e4tovn\u00e9 skenovanie, pri ktorom sa neber\u00fa do \u00favahy predch\u00e1dzaj\u00face v\u00fdsledky;<\/p>\n<p><\/p>\n<p><strong>-A<\/strong> \u2014 vlastn\u00fd <strong>User-Agent<\/strong>;<\/p>\n<p><\/p>\n<p><strong>-p<\/strong> \u2014 adresa proxy servera, ak je potrebn\u00e1.<\/p>\n<p><\/p>\n<h3 id=\"nemnogo-ob-otchete\">Trochu o spr\u00e1ve<\/h3>\n<p><\/p>\n<p>V\u00fdsledok skenovania je prezentovan\u00fd vo forme podrobnej spr\u00e1vy o v\u0161etk\u00fdch zisten\u00fdch zranite\u013enostiach vo form\u00e1te HTML str\u00e1nky, v preh\u013eadnej a pochopite\u013enej podobe. V spr\u00e1ve bud\u00fa uveden\u00e9 kateg\u00f3rie a po\u010det zisten\u00fdch zranite\u013enost\u00ed, ich opis, po\u017eiadavky, pr\u00edkazy na <strong>curl<\/strong> a rady, ako ich opravi\u0165. Pre pohodlie navig\u00e1cie bud\u00fa do n\u00e1zvov kateg\u00f3ri\u00ed pridan\u00e9 odkazy, po kliknut\u00ed na ktor\u00e9 sa na \u0148u prejdete:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/39d35304b6f2ea20fd9096e167daabd5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Podstatn\u00e1 nev\u00fdhoda spr\u00e1vy \u2014 absencia takej mapy webovej aplik\u00e1cie, bez ktorej nebude jasn\u00e9, \u010di boli v\u0161etky adresy a parametre analyzovan\u00e9. Tie\u017e existuje pravdepodobnos\u0165 falo\u0161n\u00fdch pozit\u00edv. V na\u0161om pr\u00edpade v spr\u00e1ve figuruj\u00fa \u201ez\u00e1lo\u017en\u00e9 s\u00fabory\u201c a \u201epotenci\u00e1lne nebezpe\u010dn\u00e9 s\u00fabory\u201c. Ich po\u010det nezodpoved\u00e1 skuto\u010dnosti, preto\u017ee tak\u00e9to s\u00fabory na serveri neboli:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/09c6f8945e6fb6dc6de1388f71fc96bb.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mo\u017eno, \u017ee nefunk\u010dn\u00e9 moduly to v bud\u00facnosti oprav\u00ed. Takisto sa d\u00e1 za nev\u00fdhodu spr\u00e1vy pova\u017eova\u0165 absencia zafarbenia zisten\u00fdch zranite\u013enost\u00ed (v z\u00e1vislosti od ich z\u00e1va\u017enosti), alebo aspo\u0148 ich rozdelenie do kateg\u00f3ri\u00ed. Jedin\u00fd sp\u00f4sob, ako m\u00f4\u017eeme nepriamo pochopi\u0165 z\u00e1va\u017enos\u0165 n\u00e1jdenej zranite\u013enosti, je aplikova\u0165 parameter <strong>\u2014farba<\/strong> pri skenovan\u00ed a potom bud\u00fa zisten\u00e9 zranite\u013enosti zafarben\u00e9 r\u00f4znymi farbami:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/46f4c34f9215117eeddd96db633e9e3e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ale v samotnej spr\u00e1ve tak\u00e9to zafarbenie nie je predpokladan\u00e9.<\/p>\n<p><\/p>\n<h3 id=\"uyazvimosti\">Zranite\u013enosti<\/h3>\n<p><\/p>\n<h4 id=\"sqli\">SQLi<\/h4>\n<p><\/p>\n<p>Sken\u00e9r si s \u010diasto\u010dn\u00fdm \u00faspechom poradil s h\u013eadan\u00edm SQLi. Pri vyh\u013ead\u00e1van\u00ed SQL zranite\u013enost\u00ed na str\u00e1nkach, kde nie je potrebn\u00e1 autentiz\u00e1cia, nie s\u00fa \u017eiadne probl\u00e9my:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/f9ffef805a115c1a7d47c068a38794bf.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nepodarilo sa n\u00e1js\u0165 zranite\u013enos\u0165 na str\u00e1nkach, ktor\u00e9 s\u00fa pr\u00edstupn\u00e9 iba po autentiz\u00e1cii, ani s pou\u017eit\u00edm platn\u00fdch <strong>cookie<\/strong>, preto\u017ee pravdepodobne po \u00faspe\u0161nej autentifik\u00e1cii d\u00f4jde k \"odhl\u00e1seniu z rel\u00e1cie\" a <strong>cookie<\/strong> stan\u00fa neplatn\u00fdmi. Keby bola funkcia deautoriz\u00e1cie vykonan\u00e1 ako samostatn\u00fd skript zodpovedaj\u00faci za spracovanie tohto postupu, bolo by mo\u017en\u00e9 ju \u00faplne vyl\u00fa\u010di\u0165 prostredn\u00edctvom parametra -x a t\u00fdm zabr\u00e1ni\u0165 jej spusteniu. V opa\u010dnom pr\u00edpade nie je mo\u017en\u00e9 vyl\u00fa\u010di\u0165 jej spracovanie. Tento probl\u00e9m nie je konkr\u00e9tneho modulu, ale n\u00e1stroja ako celku, ale kv\u00f4li tomuto nuancu sa nepodarilo odhali\u0165 nieko\u013eko injekci\u00ed v uzavretom priestore zdroja.<\/p>\n<p><\/p>\n<h4 id=\"xss\">XSS<\/h4>\n<p><\/p>\n<p>S danou \u00falohou si skener skvelo poradil a na\u0161iel v\u0161etky pripraven\u00e9 zranite\u013enosti:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/ae43bf1f7d78224a5df5f2ef733f8203.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h4 id=\"lfirfi\">LFI\/RFI<\/h4>\n<p><\/p>\n<p>Skener na\u0161iel v\u0161etky vlo\u017een\u00e9 zranite\u013enosti:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Wapiti \u2014 kontrola webovej str\u00e1nky na zranite\u013enosti vlastn\u00fdmi silami\" src=\"\/wp-content\/uploads\/2020\/07\/9056c7911237b607a6b12cc2e5a488d3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Celkovo, napriek falo\u0161n\u00fdm pozit\u00edvom a vynechan\u00fdm zranite\u013enostiam, Wapiti, ako bezplatn\u00fd n\u00e1stroj, ukazuje celkom sol\u00eddne v\u00fdsledky. V ka\u017edom pr\u00edpade je potrebn\u00e9 uzna\u0165, \u017ee skener je pomerne siln\u00fd, flexibiln\u00fd a multifunk\u010dn\u00fd, a \u010do je najd\u00f4le\u017eitej\u0161ie \u2014 bezplatn\u00fd, a preto m\u00e1 pr\u00e1vo na pou\u017eitie, pom\u00e1haj\u00fac administr\u00e1torom a v\u00fdvoj\u00e1rom z\u00edska\u0165 z\u00e1kladn\u00e9 inform\u00e1cie o stave zabezpe\u010denia webovej aplik\u00e1cie.<\/p>\n<p><\/p>\n<p>Zosta\u0148te zdrav\u00ed a chr\u00e1nen\u00ed!<\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/510998\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b\u0438 \u043e Nemesida WAF Free \u2014 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0435 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0441\u0430\u0439\u0442\u043e\u0432 \u0438 API \u043e\u0442 \u0445\u0430\u043a\u0435\u0440\u0441\u043a\u0438\u0445 \u0430\u0442\u0430\u043a, \u0430 \u0432 \u044d\u0442\u043e\u0439 \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0431\u0437\u043e\u0440 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0441\u043a\u0430\u043d\u0435\u0440\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439 Wapiti. \u0421\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u2014 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0430\u044f \u043c\u0435\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f, \u0432\u043a\u0443\u043f\u0435 \u0441 \u0430\u043d\u0430\u043b\u0438\u0437\u043e\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0435\u0433\u043e \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0443\u0433\u0440\u043e\u0437 \u043a\u043e\u043c\u043f\u0440\u043e\u043c\u0435\u0442\u0430\u0446\u0438\u0438. \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043a\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0435\u0431-\u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u043c\u043e\u0436\u043d\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":88993,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-88992","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/wapiti-proverka-sajta-na-uyazvimosti-svoimi-silami\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Wapiti \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0438\u043c\u0438 \u0441\u0438\u043b\u0430\u043c\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/wapiti-proverka-sajta-na-uyazvimosti-svoimi-silami\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-07-17T05:42:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-17T05:42:02+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Wapiti \u2014 kontrola webu na zranite\u013enosti vlastn\u00fdmi silami | ProHoster","description":"V minulosti","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/wapiti-proverka-sajta-na-uyazvimosti-svoimi-silami","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Wapiti \u2014 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0441\u0430\u0439\u0442\u0430 \u043d\u0430 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u0432\u043e\u0438\u043c\u0438 \u0441\u0438\u043b\u0430\u043c\u0438 | ProHoster","og:description":"\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0439","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/wapiti-proverka-sajta-na-uyazvimosti-svoimi-silami","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-07-17T05:42:02+00:00","article:modified_time":"2020-07-17T05:42:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"88992","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 10:45:41","updated":"2022-09-28 15:58:49","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/88992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=88992"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/88992\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/88993"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=88992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=88992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=88992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}