Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම
අන්තිමට ලිපියයි අපි කතා කළා Nemesida WAF නොමිලේ - හැකර් ප්‍රහාර වලින් වෙබ් අඩවි සහ API ආරක්ෂා කිරීම සඳහා නොමිලේ මෙවලමක් වන අතර, මෙයින් අපි ජනප්‍රිය අවදානම් ස්කෑනරයක් සමාලෝචනය කිරීමට තීරණය කළෙමු. වාපිටි.

අවදානම් සඳහා වෙබ් අඩවියක් පරිලෝකනය කිරීම අත්‍යවශ්‍ය පියවරක් වන අතර, මූලාශ්‍ර කේතය විශ්ලේෂණය කිරීමත් සමඟ, සම්මුතියේ තර්ජනවලට එරෙහිව එහි ආරක්ෂාවේ මට්ටම තක්සේරු කිරීමට ඔබට ඉඩ සලසයි. විශේෂිත මෙවලම් භාවිතයෙන් ඔබට වෙබ් සම්පතක් පරිලෝකනය කළ හැක.

Nikto, W3af (Python 2.7 හි ලියා ඇත, එය තවදුරටත් සහාය නොදක්වයි) හෝ Arachni (පෙබරවාරි සිට තවදුරටත් සහාය නොදක්වයි) නිදහස් කොටසෙහි ඉදිරිපත් කර ඇති වඩාත්ම ජනප්‍රිය විසඳුම් වේ. ඇත්ත වශයෙන්ම, වෙනත් අය ඇත, උදාහරණයක් ලෙස, අපි අවධානය යොමු කිරීමට තීරණය කළ Wapiti.

Wapiti පහත දැක්වෙන ආකාරයේ දුර්වලතා සමඟ ක්රියා කරයි:

  • ගොනු පුළුල් කිරීම (දේශීය සහ දුරස්ථ, fopen, readfile);
  • එන්නත් (PHP / JSP / ASP / SQL එන්නත් සහ XPath එන්නත්);
  • XSS (Cross Site Scripting) (පරාවර්තක සහ ස්ථීර);
  • විධාන හඳුනාගැනීම සහ ක්‍රියාත්මක කිරීම (eval(), system(), passtru());
  • CRLF එන්නත් (HTTP ප්රතිචාර බෙදීම, සැසි සවි කිරීම);
  • XXE (XML බාහිර ආයතනය) කාවැද්දීම;
  • SSRF (සේවාදායක පැත්තේ ඉල්ලීම ව්යාජය);
  • දන්නා භයානක විය හැකි ගොනු භාවිතය (නික්ටෝ දත්ත ගබඩාවට ස්තුති);
  • මඟ හැරිය හැකි දුර්වල .htaccess වින්‍යාසයන්;
  • රහස්‍ය තොරතුරු හෙළි කරන උපස්ථ ගොනු තිබීම (මූලාශ්‍ර කේතය හෙළිදරව් කිරීම);
  • ෂෙල් ෂෝක්;
  • විවෘත යළි-යොමුවීම්;
  • විසඳිය හැකි සම්මත නොවන HTTP ක්‍රම (PUT).

අවස්ථා:

  • HTTP, HTTPS සහ SOCKS5 ප්‍රොක්සි සහාය;
  • ක්‍රම කිහිපයක් භාවිතා කරමින් සත්‍යාපනය: Basic, Digest, Kerberos හෝ NTLM;
  • ස්කෑනිං ප්රදේශය සීමා කිරීමේ හැකියාව (වසම, ෆෝල්ඩරය, පිටුව, URL);
  • URL හි එක් පරාමිතියක් ස්වයංක්‍රීයව ඉවත් කිරීම;
  • නිමක් නැති ස්කෑන් ලූපවලට එරෙහිව බහුවිධ පූර්වාරක්ෂාවන් (උදාහරණ: ifor, පරාමිතියක් සඳහා අගයන් සීමා කිරීම);
  • URL පරීක්ෂා කිරීම සඳහා ප්‍රමුඛතාවයක් සැකසීමේ හැකියාව (ඒවා ස්කෑන් කිරීමේ ප්‍රදේශයේ නොමැති වුවද);
  • සමහර URL ස්කෑන් කිරීම සහ ප්‍රහාර වලින් බැහැර කිරීමේ හැකියාව (උදාහරණයක් ලෙස: URL logout);
  • කුකීස් ආනයනය කරන්න (wapiti-getcookie මෙවලම භාවිතයෙන් ඒවා ලබා ගන්න);
  • SSL සහතික සත්‍යාපනය සක්‍රිය/අක්‍රිය කිරීමේ හැකියාව;
  • JavaScript වෙතින් URL උපුටා ගැනීමේ හැකියාව (ඉතා සරල JS පරිවර්තකයක්);
  • HTML5 සමඟ අන්තර්ක්‍රියා;
  • crawler හැසිරීම් සහ සීමා කිරීම් කළමනාකරණය සඳහා විකල්ප කිහිපයක්;
  • ස්කෑනිං ක්රියාවලිය සඳහා උපරිම කාලය සැකසීම;
  • සමහර අභිරුචි HTTP ශීර්ෂ එකතු කිරීම හෝ අභිරුචි පරිශීලක නියෝජිතයෙකු පිහිටුවීම.

අමතර විශේෂාංග:

  • විවිධ ආකෘතිවලින් (HTML, XML, JSON, TXT) අවදානම් වාර්තා නිර්මාණය කිරීම;
  • ස්කෑන් කිරීම හෝ ප්‍රහාරයක් නතර කිරීම සහ නැවත ආරම්භ කිරීම (SQLite3 දත්ත සමුදායන් භාවිතා කරන සැසි යාන්ත්‍රණය);
  • දුර්වලතා ඉස්මතු කිරීමට පර්යන්තයේ පසුබිම් ආලෝකය;
  • විවිධ මට්ටම් ලොග් කිරීම;
  • ප්‍රහාරක මොඩියුල සක්‍රිය/අක්‍රිය කිරීමට ඉක්මන් සහ පහසු ක්‍රමයක්.

ස්ථාපනය

Wapiti හි වත්මන් අනුවාදය ආකාර 2 කින් ස්ථාපනය කළ හැක:

  • නිලයෙන් මූලාශ්‍රය බාගන්න අඩවිය සහ ස්ථාපන ස්ක්‍රිප්ට් ධාවනය කරන්න, පෙර Python3 ස්ථාපනය කර ඇත;
  • pip3 install wapiti3 විධානය භාවිතා කරන්න.

මෙයින් පසු වාපිටි යන්නට සූදානම් වනු ඇත.

මෙවලම සමඟ වැඩ කිරීම

Wapiti හි කාර්යය ප්රදර්ශනය කිරීම සඳහා, අපි විශේෂයෙන් සකස් කරන ලද ස්ථාවරය sites.vulns.pentestit.ru (අභ්යන්තර සම්පත්), විවිධ දුර්වලතා (එන්නත් කිරීම, XSS, LFI / RFI) සහ වෙබ් යෙදුම්වල අනෙකුත් අඩුපාඩු අඩංගු වේ.

තොරතුරු සපයනු ලබන්නේ තොරතුරු දැනගැනීමේ අරමුණු සඳහා පමණි. නීතිය කඩන්න එපා!

ස්කෑනරය දියත් කිරීමට මූලික විධානය:

# wapiti -u <target> <options>

ඒ අතරම, දියත් කිරීමේ විකල්ප විශාල සංඛ්‍යාවක් සමඟ තරමක් සවිස්තරාත්මක උපකාරයක් ඇත, උදාහරණයක් ලෙස:

--පථය - යෙදුම් ප්රදේශය
ඔබ ක්‍රෝල් URL සමඟ විෂය පථ පරාමිතිය සඳහන් කරන්නේ නම්, ඔබට තනි පිටුවක් සහ අඩවියේ ඇති සියලුම පිටු සඳහන් කිරීමෙන් වෙබ් අඩවියේ බඩගා යන ප්‍රදේශය සකස් කළ හැක.

-s и -x - විශේෂිත URL එකතු කිරීමට හෝ ඉවත් කිරීමට විකල්ප. ඔබට බඩගා යාමේ ක්‍රියාවලියේදී නිශ්චිත URL එකක් එක් කිරීමට හෝ ඉවත් කිරීමට අවශ්‍ය වූ විට මෙම විකල්ප ප්‍රයෝජනවත් වේ.

--මඟහරින්න - මෙම යතුර සමඟ නිශ්චිත පරාමිතිය පරිලෝකනය කරනු ඇත, නමුත් පහර නොදෙනු ඇත. ස්කෑන් කිරීමේදී වඩාත් හොඳින් බැහැර කරන භයානක පරාමිතීන් තිබේ නම් ප්රයෝජනවත් වේ.

--verify-ssl - සහතික සත්‍යාපනය සක්‍රීය හෝ අක්‍රිය කරන්න.
Wapiti ස්කෑනරය මොඩියුලර් වේ. කෙසේ වෙතත්, ස්කෑනරය ක්‍රියාත්මක වන විට ස්වයංක්‍රීයව සම්බන්ධ වන ඒවා ඇතුළුව විශේෂිත මොඩියුල දියත් කිරීමට, ඔබ -m ස්විචය භාවිතා කර ඔබට අවශ්‍ය ඒවා ලැයිස්තුගත කළ යුතුය, කොමාවෙන් වෙන් කර ඇත. යතුර භාවිතා නොකරන්නේ නම්, සියලුම මොඩියුල පෙරනිමියෙන් ක්‍රියා කරයි. සරලම අනුවාදයේ එය මේ ආකාරයෙන් පෙනෙනු ඇත:

# wapiti -u http://sites.vulns.pentestit.ru/ -m sql,xss,xxe

මෙම භාවිත උදාහරණය යන්නෙන් අදහස් කරන්නේ ඉලක්කය පරිලෝකනය කිරීමේදී අපි SQL, XSS සහ XXE මොඩියුල පමණක් භාවිතා කරන බවයි. ඊට අමතරව, ඔබට අවශ්ය ක්රමය අනුව මොඩියුලවල ක්රියාකාරිත්වය පෙරහන් කළ හැකිය. උදාහරණ වශයෙන් -m “xss: get, blindsql: post, xxe: post”. මෙම අවස්ථාවේදී, මොඩියුලය xss GET ක්‍රමය සහ මොඩියුලය භාවිතයෙන් යවන ලද ඉල්ලීම් සඳහා අදාළ වේ blibdsql - ඉල්ලීම් POST කිරීමට, ආදිය. මාර්ගය වන විට, ස්කෑන් කිරීමේදී ලැයිස්තුවට ඇතුළත් කර ඇති සමහර මොඩියුලයක් අවශ්‍ය නොවේ නම් හෝ ඉතා දිගු කාලයක් ගත වුවහොත්, Ctrl + C සංයෝජනය එබීමෙන් ඔබට අන්තර්ක්‍රියාකාරී මෙනුවේ අනුරූප අයිතමය තේරීමෙන් වත්මන් මොඩියුලය භාවිතා කිරීම මඟ හැරිය හැක.

යතුරක් භාවිතයෙන් ප්‍රොක්සියක් හරහා ඉල්ලීම් යැවීමට Wapiti සහාය දක්වයි -p සහ පරාමිතිය හරහා ඉලක්ක අඩවියේ සත්‍යාපනය -a. ඔබට සත්‍යාපන වර්ගයද සඳහන් කළ හැක: මූලික, ඩයිජෙස්ට්, කර්බෙරොස් и එන්ටීඑල්එම්. අවසාන දෙක අතිරේක මොඩියුල ස්ථාපනය කිරීම අවශ්ය විය හැකිය. ඊට අමතරව, ඔබට ඕනෑම ශීර්ෂයක් ඉල්ලීම්වලට ඇතුළත් කළ හැකිය (අත්තනෝමතික ද ඇතුළුව පරිශීලක-නියෝජිත) සහ තවත් බොහෝ දේ.

සත්‍යාපනය භාවිතා කිරීමට ඔබට මෙවලම භාවිතා කළ හැකිය wapiti-getcookie. එහි ආධාරයෙන් අපි සාදන්නෙමු කුකී, ස්කෑන් කිරීමේදී Wapiti භාවිතා කරනු ඇත. පිහිටුවීම කුකී විධානය සමඟ සිදු:

# wapiti-getcookie -u http://sites.vulns.pentestit.ru/login.php -c cookie.json

අන්තර්ක්‍රියාකාරීව වැඩ කරන අතරතුර, අපි ප්‍රශ්නවලට පිළිතුරු සපයන අතර පුරනය වීම, මුරපදය යනාදිය අවශ්‍ය තොරතුරු දක්වමු.

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

ප්‍රතිදානය JSON ආකෘතියේ ගොනුවකි. තවත් විකල්පයක් වන්නේ පරාමිතිය හරහා අවශ්ය සියලු තොරතුරු එකතු කිරීමයි -d:

# wapiti-getcookie - http://sites.vulns.pentestit.ru/login.php -c cookie.json -d "username=admin&password=admin&enter=submit"

ප්රතිඵලය සමාන වනු ඇත:

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

ස්කෑනරයේ ප්‍රධාන ක්‍රියාකාරිත්වය සලකා බලන විට, අපගේ නඩුවේ වෙබ් යෙදුම පරීක්ෂා කිරීම සඳහා වූ අවසාන ඉල්ලීම වූයේ:

# wapiti --level 1 -u http://sites.vulns.pentestit.ru/ -f html -o /tmp/vulns.html -m all --color -с cookie.json --scope folder --flush-session -A 'Pentestit Scans' -p http://proxy.office.pentestit.ru:3128

වෙනත් පරාමිතීන් අතර:

-f и -o - වාර්තාව සුරැකීමේ ආකෘතිය සහ මාර්ගය;

-m - සියලුම මොඩියුල සම්බන්ධ කිරීම නිර්දේශ නොකරයි, මන්ද පරීක්ෂණ කාලය සහ වාර්තා ප්රමාණය බලපානු ඇත;

--වර්ණ - Wapiti ම අනුව ඒවායේ විවේචනාත්මකභාවය අනුව සොයාගත් දුර්වලතා ඉස්මතු කරන්න;

-c - සමඟ ගොනුවක් භාවිතා කිරීම කුකී, භාවිතයෙන් ජනනය කරන ලදී wapiti-getcookie;

--පථය - ප්රහාරය සඳහා ඉලක්කයක් තෝරා ගැනීම. විකල්පයක් තෝරාගැනීම ෆෝල්ඩරය සෑම URL එකක්ම බඩගාගෙන ප්‍රහාර එල්ල කරනු ඇත, එය මුලික එකින් පටන් ගනී. මූලික URL හි ඉදිරි ස්ලැෂ් එකක් තිබිය යුතුය (ගොනු නාමයක් නැත);

--ෆ්ලෂ්-සැසිය - නැවත නැවත ස්කෑන් කිරීම සඳහා ඉඩ සලසයි, පෙර ප්රතිඵල සැලකිල්ලට නොගනී;

-A - තමන්ගේම පරිශීලක-නියෝජිත;

-p - අවශ්ය නම්, ප්රොක්සි සේවාදායක ලිපිනය.

වාර්තාව ගැන ටිකක්

ස්කෑනිං ප්‍රතිඵලය HTML පිටු ආකෘතියෙන්, පැහැදිලිව සහ පහසුවෙන් කියවිය හැකි ආකාරයෙන්, සොයාගත් සියලුම දුර්වලතා පිළිබඳ සවිස්තර වාර්තාවක් ආකාරයෙන් ඉදිරිපත් කෙරේ. වාර්තාව මඟින් සොයාගත් අවදානම් ප්‍රවර්ග සහ සංඛ්‍යාව, ඒවායේ විස්තර, ඉල්ලීම්, විධානයන් දක්වනු ඇත හැඬලී ය සහ ඒවා වසා දැමිය යුතු ආකාරය පිළිබඳ උපදෙස්. සංචාලනයේ පහසුව සඳහා, ප්‍රවර්ග නම් වලට සබැඳියක් එක් කරනු ඇත, එය ක්ලික් කිරීමෙන් ඔබට එයට යා හැකිය:

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

වාර්තාවේ සැලකිය යුතු අවාසියක් නම් වෙබ් යෙදුම් සිතියමක් නොමැති වීමයි, එසේ නොමැතිව සියලුම ලිපින සහ පරාමිති විශ්ලේෂණය කර තිබේද යන්න පැහැදිලි නොවේ. ව්‍යාජ ධනාත්මක කරුණු ඇතිවීමටද ඉඩ ඇත. අපගේ නඩුවේදී, වාර්තාවේ "උපස්ථ ගොනු" සහ "භයානක විය හැකි ගොනු" ඇතුළත් වේ. සේවාදායකයේ එවැනි ලිපිගොනු නොතිබූ බැවින් ඔවුන්ගේ අංකය යථාර්ථයට අනුරූප නොවේ:

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

සමහර විට වැරදි ලෙස වැඩ කරන මොඩියුල කාලයත් සමඟ ස්ථාවර වනු ඇත. වාර්තාවේ තවත් අඩුපාඩුවක් නම්, සොයාගත් දුර්වලතා වර්ණ ගැන්වීමේ ඌනතාවය (ඒවායේ විවේචනාත්මකභාවය අනුව) හෝ අවම වශයෙන් ඒවා වර්ග වලට බෙදීමයි. සොයාගත් දුර්වලතාවයේ විවේචනාත්මක බව අපට වක්‍රව තේරුම් ගත හැකි එකම ක්‍රමය පරාමිතිය භාවිතා කිරීමයි --වර්ණ ස්කෑන් කිරීමේදී, පසුව සොයාගත් දුර්වලතා විවිධ වර්ණවලින් වර්ණාලේප කරනු ලැබේ:

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

නමුත් වාර්තාවම එවැනි වර්ණ ගැන්වීමක් ලබා නොදේ.

අවදානම්

SQLi

ස්කෑනරය SQLi සෙවුම සමඟ අර්ධ වශයෙන් කටයුතු කළේය. සත්‍යාපනය අවශ්‍ය නොවන පිටු මත SQL දුර්වලතා සෙවීමේදී, ගැටළු මතු නොවේ:

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

වලංගු භාවිතයෙන් වුවද, සත්‍යාපනය කිරීමෙන් පසුව පමණක් ප්‍රවේශ විය හැකි පිටු වල අවදානමක් සොයා ගැනීමට නොහැකි විය කුකී, බොහෝ දුරට සාර්ථක සත්‍යාපනයෙන් පසුව, ඔවුන්ගේ සැසිය "ලොග් අවුට්" සහ කුකී අවලංගු වනු ඇත. මෙම ක්‍රියාපටිපාටිය සැකසීම සඳහා වගකිව යුතු වෙනම ස්ක්‍රිප්ට් එකක් ලෙස බලය පැවරීමේ ශ්‍රිතය ක්‍රියාත්මක කළේ නම්, එය -x පරාමිතිය හරහා සම්පූර්ණයෙන්ම බැහැර කළ හැකි අතර එමඟින් එය ක්‍රියා විරහිත වීම වළක්වනු ඇත. එසේ නොමැති නම්, එහි සැකසුම් බැහැර කිරීමට නොහැකි වනු ඇත. මෙය විශේෂිත මොඩියුලයක් සමඟ ගැටළුවක් නොවේ, නමුත් සමස්තයක් ලෙස මෙවලම සමඟ, නමුත් මෙම සූක්ෂ්මතාවය නිසා, සංවෘත සම්පත් ප්රදේශයක එන්නත් කිහිපයක් හඳුනා ගැනීමට නොහැකි විය.

වු XSS

ස්කෑනරය ලබා දී ඇති කාර්යයට හොඳින් මුහුණ දුන් අතර සූදානම් කර ඇති සියලුම දුර්වලතා සොයා ගත්තේය:

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

LFI/RFI

ස්කෑනරය සියලු යටින් පවතින දුර්වලතා සොයා ගත්තේය:

Wapiti - අවදානම් සඳහා වෙබ් අඩවියක් තනිවම පරීක්ෂා කිරීම

පොදුවේ ගත් කල, ව්‍යාජ ධනාත්මක සහ අතුරුදහන් වූ දුර්වලතා තිබියදීත්, Wapiti, නිදහස් මෙවලමක් ලෙස, ඉතා හොඳ කාර්ය සාධන ප්රතිඵල පෙන්වයි. ඕනෑම අවස්ථාවක, ස්කෑනරය තරමක් බලවත්, නම්‍යශීලී සහ බහුකාර්ය බව හඳුනා ගැනීම වටී, සහ වඩාත්ම වැදගත් දෙය නම්, එය නොමිලේ, එබැවින් පරිපාලකයින්ට සහ සංවර්ධකයින්ට වෙබ් අඩවියක ආරක්ෂක තත්ත්වය පිළිබඳ මූලික තොරතුරු ලබා ගැනීමට උපකාර කිරීමේදී එය භාවිතා කිරීමට අයිතියක් ඇත. අයදුම්පත.

නිරෝගීව හා ආරක්ෂා වන්න!

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න