ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ
በመጨረሻው ጽሑፍ ብለን ተነጋገርን። Nemesida WAF ነጻ - ድህረ ገጾችን እና ኤፒአይዎችን ከጠላፊ ጥቃቶች የሚከላከል ነፃ መሳሪያ፣ እና በዚህ ውስጥ ታዋቂ የተጋላጭነት ስካነርን ለመገምገም ወሰንን ዋፒቲ.

ድህረ ገጽን ለተጋላጭነት መቃኘት አስፈላጊ መለኪያ ነው፣ እሱም ከምንጩ ኮድ ትንተና ጋር ተዳምሮ ከስምምነት ዛቻዎች አንጻር ያለውን የደህንነት ደረጃ ለመገምገም ያስችላል። ልዩ መሳሪያዎችን በመጠቀም የድር ሀብትን መቃኘት ይችላሉ።

Nikto, W3af (በ Python 2.7 የተጻፈ, ከአሁን በኋላ የማይደገፍ) ወይም Arachni (ከየካቲት ወር ጀምሮ አይደገፍም) በነጻ ክፍል ውስጥ የቀረቡት በጣም ተወዳጅ መፍትሄዎች ናቸው. እርግጥ ነው, ሌሎችም አሉ, ለምሳሌ, Wapiti, እኛ ትኩረት ለማድረግ የወሰንነው.

ዋፒቲ ከሚከተሉት የተጋላጭነት ዓይነቶች ጋር ይሰራል፡

  • የፋይል መስፋፋት (አካባቢያዊ እና የርቀት, ፎፔን, አንባቢ ፋይል);
  • መርፌዎች (PHP / JSP / ASP / SQL መርፌ እና XPath መርፌ);
  • XSS (የመስቀል ጣቢያ ስክሪፕት) (አንጸባራቂ እና ቀጣይነት ያለው);
  • የትዕዛዞችን ፈልጎ ማግኘት እና መፈጸም (eval(), system (), passtru ());
  • የ CRLF መርፌዎች (የኤችቲቲፒ ምላሽ ክፍፍል, የክፍለ ጊዜ ማስተካከል);
  • XXE (ኤክስኤምኤል ውጫዊ አካል) መክተት;
  • SSRF (የአገልጋይ ጎን ጥያቄ የውሸት);
  • የታወቁ አደገኛ ሊሆኑ የሚችሉ ፋይሎችን መጠቀም (ለ Nikto የውሂብ ጎታ ምስጋና ይግባው);
  • ሊታለፉ የሚችሉ ደካማ .htaccess ውቅሮች;
  • ሚስጥራዊ መረጃን የሚያሳዩ የመጠባበቂያ ፋይሎች መኖር (የምንጭ ኮድ ይፋ ማድረግ);
  • Shellshock;
  • ክፍት ማዞሪያዎች;
  • ሊፈቱ የሚችሉ መደበኛ ያልሆኑ HTTP ዘዴዎች (PUT)።

ባህሪዎች:

  • HTTP፣ HTTPS እና SOCKS5 ፕሮክሲ ድጋፍ;
  • በርካታ ዘዴዎችን በመጠቀም ማረጋገጥ፡- Basic, Digest, Kerberos ወይም NTLM;
  • የፍተሻ ቦታን የመገደብ ችሎታ (ጎራ, አቃፊ, ገጽ, ዩአርኤል);
  • በዩአርኤል ውስጥ ካሉት መለኪያዎች ውስጥ አንዱን በራስ ሰር ማስወገድ;
  • ማለቂያ ከሌላቸው የፍተሻ loops ላይ በርካታ ጥንቃቄዎች (ለምሳሌ፡- ifor፣ ለፓራሜትር እሴቶችን መገደብ)።
  • ዩአርኤሎችን ለመመርመር ቅድሚያ የማዘጋጀት ችሎታ (ምንም እንኳን በፍተሻ ቦታ ላይ ባይሆኑም);
  • አንዳንድ ዩአርኤሎችን ከመቃኘት እና ከማጥቃት (ለምሳሌ URL መውጣት) የማግለል ችሎታ;
  • ኩኪዎችን ማስመጣት (የዋፒቲ-ጌትኩኪ መሣሪያን በመጠቀም ያግኟቸው);
  • የ SSL ሰርተፍኬት ማረጋገጫን የማግበር/የማቦዘን ችሎታ;
  • ዩአርኤሎችን ከጃቫስክሪፕት የማውጣት ችሎታ (በጣም ቀላል የጄኤስ አስተርጓሚ);
  • ከ HTML5 ጋር መስተጋብር;
  • የጉበኛ ባህሪን እና ገደቦችን ለመቆጣጠር ብዙ አማራጮች;
  • ለቃኝ ሂደቱ ከፍተኛውን ጊዜ ማዘጋጀት;
  • አንዳንድ ብጁ HTTP ራስጌዎችን ማከል ወይም ብጁ ተጠቃሚ-ወኪል ማዋቀር።

ተጨማሪ ገጽታዎች:

  • የተጋላጭነት ሪፖርቶችን በተለያዩ ቅርፀቶች መፍጠር (HTML, XML, JSON, TXT);
  • ፍተሻን ወይም ጥቃትን ለአፍታ ማቆም እና መቀጠል (የ SQLite3 የውሂብ ጎታዎችን በመጠቀም የክፍለ ጊዜ ዘዴ);
  • ድክመቶችን ለማጉላት በተርሚናል ውስጥ የኋላ መብራት;
  • የተለያዩ የመግቢያ ደረጃዎች;
  • የጥቃት ሞጁሎችን ለማንቃት/ለማጥፋት ፈጣን እና ቀላል መንገድ።

ቅንብር

የአሁኑ የዋፒቲ እትም በሁለት መንገዶች መጫን ይቻላል፡-

  • ምንጩን ከኦፊሴላዊው ያውርዱ ጣቢያ እና ከዚህ ቀደም Python3 ን ከጫኑ በኋላ የመጫኛ ስክሪፕቱን ያሂዱ;
  • የpip3 ጫን wapiti3 ትዕዛዝን በመጠቀም።

ከዚህ በኋላ ዋፒቲ ለመሄድ ዝግጁ ይሆናል.

ከመሳሪያው ጋር በመስራት ላይ

የዋፒቲ ስራን ለማሳየት በልዩ ሁኔታ የተዘጋጀ ስታንዳይት sites.vulns.pentestit.ru (የውስጥ ሃብት) እንጠቀማለን፣ የተለያዩ ተጋላጭነቶችን (መርፌ፣ XSS፣ LFI/RFI) እና ሌሎች የድር መተግበሪያዎች ድክመቶችን የያዘ።

መረጃው ለመረጃ አገልግሎት ብቻ የቀረበ ነው። ህግ አትጣስ!

ስካነርን ለማስጀመር መሰረታዊ ትእዛዝ፡-

# wapiti -u <target> <options>

በተመሳሳይ ጊዜ ፣ ​​በብዙ የማስጀመሪያ አማራጮች በጣም ዝርዝር እገዛ አለ ፣ ለምሳሌ-

- ወሰን - የመተግበሪያ አካባቢ
የወሰን መለኪያውን ከጉበቱ ዩአርኤል ጋር ከገለጹ፣ ሁለቱንም አንድ ገጽ እና በጣቢያው ላይ የሚገኙትን ሁሉንም ገፆች በመግለጽ የጣቢያውን መጎተቻ ቦታ ማስተካከል ይችላሉ።

-s и -x - የተወሰኑ ዩአርኤሎችን ለመጨመር ወይም ለማስወገድ አማራጮች። በጉብኝቱ ሂደት ውስጥ አንድ የተወሰነ ዩአርኤል ማከል ወይም ማስወገድ ሲፈልጉ እነዚህ አማራጮች ጠቃሚ ናቸው።

-- ዝለል — በዚህ ቁልፍ የተገለጸው መለኪያ ይቃኛል፣ ግን ጥቃት አይደርስበትም። በፍተሻ ጊዜ በደንብ የተገለሉ አደገኛ መለኪያዎች ካሉ ጠቃሚ።

--አረጋግጥ-ssl - የምስክር ወረቀት ማረጋገጫን ማንቃት ወይም ማሰናከል።
የዋፒቲ ስካነር ሞዱል ነው። ነገር ግን ስካነር በሚሰራበት ጊዜ በራስ ሰር የተገናኙትን ጨምሮ የተወሰኑ ሞጁሎችን ለመጀመር -m ማብሪያና ማጥፊያን መጠቀም እና የሚፈልጉትን መዘርዘር ያስፈልግዎታል። ቁልፉ ጥቅም ላይ ካልዋለ, ሁሉም ሞጁሎች በነባሪነት ይሰራሉ. በጣም ቀላል በሆነው ስሪት ውስጥ የሚከተለውን ይመስላል።

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

ይህ የአጠቃቀም ምሳሌ ዒላማውን ስንቃኝ SQL፣ XSS እና XXE ሞጁሎችን ብቻ እንጠቀማለን። በተጨማሪም, በሚፈለገው ዘዴ መሰረት የሞጁሎችን አሠራር ማጣራት ይችላሉ. ለምሳሌ -m “xss: ማግኘት፣ blindsql: ልጥፍ፣ xxe: ልጥፍ”. በዚህ ሁኔታ, ሞጁሉ xss የGET ዘዴን እና ሞጁሉን በመጠቀም የተላኩ ጥያቄዎችን ይመለከታል blidsql - ጥያቄዎችን ለመለጠፍ ፣ ወዘተ. በነገራችን ላይ በዝርዝሩ ውስጥ የተካተተው ሞጁል በፍተሻ ጊዜ የማይፈለግ ከሆነ ወይም በጣም ረጅም ጊዜ የሚወስድ ከሆነ የ Ctrl + C ጥምርን በመጫን በይነተገናኝ ሜኑ ውስጥ ያለውን ተዛማጅ ንጥል በመምረጥ የአሁኑን ሞጁል በመጠቀም መዝለል ይችላሉ ።

Wapiti ቁልፍን በመጠቀም ጥያቄዎችን በተኪ በኩል ማለፍን ይደግፋል -p እና በዒላማው ቦታ ላይ በመለኪያው በኩል ማረጋገጥ -a. እንዲሁም የማረጋገጫውን አይነት መግለጽ ይችላሉ፡- መሰረታዊ, አጭር መግለጫ, Kerberos и NTLM. የመጨረሻዎቹ ሁለቱ ተጨማሪ ሞጁሎችን መጫን ሊፈልጉ ይችላሉ. በተጨማሪም፣ ማንኛውንም ራስጌዎች ወደ ጥያቄዎች (የዘፈቀደን ጨምሮ) ማስገባት ይችላሉ። የተጠቃሚ ወኪል) እና ብዙ ተጨማሪ.

ማረጋገጫን ለመጠቀም መሳሪያውን መጠቀም ይችላሉ። wapiti-getcookie. በእሱ እርዳታ እንፈጥራለን ኩኪ, ይህም Wapiti ስካን ጊዜ ይጠቀማል. ምስረታ ኩኪ በትእዛዙ ተከናውኗል-

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

በይነተገናኝ ስንሰራ ለጥያቄዎች መልስ እንሰጣለን እና አስፈላጊውን መረጃ እንደ መግቢያ፣ የይለፍ ቃል እና የመሳሰሉትን እንጠቁማለን።

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

ውጤቱ በJSON ቅርጸት ያለ ፋይል ነው። ሌላው አማራጭ ሁሉንም አስፈላጊ መረጃዎች በመለኪያው በኩል መጨመር ነው -d:

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

ውጤቱም ተመሳሳይ ይሆናል-

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

የቃኚውን ዋና ተግባር ስንመለከት፣ በእኛ ሁኔታ የድር መተግበሪያን ለመፈተሽ የመጨረሻው ጥያቄ የሚከተለው ነበር፡-

# 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 - ሁሉንም ሞጁሎች ማገናኘት አይመከርም, ምክንያቱም የሙከራ ጊዜ እና የሪፖርት መጠን ላይ ተጽእኖ ይኖረዋል;

--ቀለም - በዋፒቲ እራሱ መሰረት እንደ ወሳኝነታቸው የተገኙ ተጋላጭነቶችን ማድመቅ;

-c - ፋይል በመጠቀም ኩኪበመጠቀም የተፈጠረ wapiti-getcookie;

- ወሰን - የጥቃት ኢላማ መምረጥ። አማራጭ መምረጥ አቃፊ ከመሠረቱ ጀምሮ እያንዳንዱ ዩአርኤል ይጎበኛል እና ይጠቃል። የመሠረት ዩአርኤል ወደፊት slash ሊኖረው ይገባል (የፋይል ስም የለም)።

--የማፍሰስ-ክፍለ-ጊዜ - የቀደሙት ውጤቶች ከግምት ውስጥ የማይገቡበት ተደጋጋሚ ቅኝት ይፈቅዳል።

-A - የራስ የተጠቃሚ ወኪል;

-p - አስፈላጊ ከሆነ የተኪ አገልጋይ አድራሻ።

ስለ ሪፖርቱ ትንሽ

የፍተሻ ውጤቱ በኤችቲኤምኤል ገፅ ቅርፀት በተገኙ ሁሉም ተጋላጭነቶች ላይ በዝርዝር ዘገባ መልክ ቀርቧል፣በግልጽ እና ለማንበብ ቀላል። ሪፖርቱ የተገኙትን የተጋላጭነት ምድቦች እና ብዛት፣ መግለጫዎቻቸውን፣ ጥያቄዎቻቸውን፣ ትእዛዞቻቸውን ይጠቁማል የተለጠፈ እና እነሱን እንዴት እንደሚዘጉ ጠቃሚ ምክሮች. ለአሰሳ ቀላልነት አንድ አገናኝ ወደ ምድብ ስሞች ይታከላል ፣ ወደ እሱ መሄድ የሚችሉትን ጠቅ ያድርጉ።

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

የሪፖርቱ ጉልህ ኪሳራ እንደ የድር አፕሊኬሽን ካርታ አለመኖር ነው, ያለዚያ ሁሉም አድራሻዎች እና መመዘኛዎች ተንትነዋል እንደሆነ ግልጽ አይሆንም. የውሸት አወንታዊ ሁኔታዎችም ሊኖሩ ይችላሉ። በእኛ ሁኔታ፣ ሪፖርቱ "የምትኬ ፋይሎች" እና "አደጋ ሊሆኑ የሚችሉ ፋይሎች" ያካትታል። በአገልጋዩ ላይ እንደዚህ ያሉ ፋይሎች ስላልነበሩ ቁጥራቸው ከእውነታው ጋር አይዛመድም-

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

ምናልባት በስህተት የሚሰሩ ሞጁሎች በጊዜ ሂደት ይስተካከላሉ. ሌላው የሪፖርቱ መሰናክል የተገኙትን ተጋላጭነቶች ቀለም አለማድረግ (እንደ ወሳኝነታቸው) ወይም ቢያንስ በምድቦች መከፋፈል ነው። የተገኘውን የተጋላጭነት ወሳኝነት በተዘዋዋሪ የምንረዳበት ብቸኛው መንገድ መለኪያውን መጠቀም ነው። --ቀለም በመቃኘት ጊዜ እና ከዚያ የተገኙት ድክመቶች በተለያዩ ቀለሞች ይቀመጣሉ

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

ነገር ግን ሪፖርቱ ራሱ እንዲህ ዓይነቱን ቀለም አይሰጥም.

ተጋላጭነቶች

SQLi

ስካነሩ የ SQLi ፍለጋን በከፊል ተቋቁሟል። ማረጋገጥ በማይፈለግባቸው ገፆች ላይ የSQL ተጋላጭነቶችን ሲፈልጉ ምንም ችግሮች አይከሰቱም፡-

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

ከተረጋገጠ በኋላ ብቻ፣ የሚሰራ ቢሆንም እንኳ ተደራሽ በሆኑ ገፆች ላይ ተጋላጭነትን ማግኘት አልተቻለም ኩኪ፣ ምናልባት ከተሳካ ማረጋገጫ በኋላ ፣ ክፍለ ጊዜያቸው “ይወጣል” እና ኩኪ ልክ ያልሆነ ይሆናል። የፈቃድ ማቋረጡ ተግባር ይህንን ሂደት ለማስኬድ ኃላፊነት ያለው የተለየ ስክሪፕት ሆኖ ከተተገበረ በ -x ፓራሜትር በኩል ሙሉ በሙሉ ማግለል እና በዚህም እንዳይነሳሳ ማድረግ ይቻል ነበር። ያለበለዚያ የሂደቱን ሂደት ማስቀረት አይቻልም። ይህ በአንድ የተወሰነ ሞጁል ላይ ችግር አይደለም, ነገር ግን በመሳሪያው በአጠቃላይ, ነገር ግን በዚህ ምክንያት, በተዘጋ የመርጃ ቦታ ውስጥ ብዙ መርፌዎችን ማግኘት አልተቻለም.

XSS

ስካነሩ የተሰጠውን ተግባር በትክክል ተቋቁሞ ሁሉንም የተዘጋጁ ድክመቶችን አግኝቷል።

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

LFI/RFI

ስካነሩ ሁሉንም ዋና ድክመቶች አግኝቷል-

ዋፒቲ - አንድን ጣቢያ በራሱ ለተጋላጭነት ማረጋገጥ

በአጠቃላይ, ምንም እንኳን የውሸት አወንታዊ እና የጎደሉ ድክመቶች, Wapiti, እንደ ነጻ መሳሪያ, በጣም ጥሩ የአፈፃፀም ውጤቶችን ያሳያል. በማንኛውም ሁኔታ ስካነር በጣም ኃይለኛ ፣ ተለዋዋጭ እና ሁለገብ ተግባር ያለው እና ከሁሉም በላይ ደግሞ ነፃ ነው ፣ ስለሆነም አስተዳዳሪዎች እና ገንቢዎች ስለ ድር ደህንነት ሁኔታ መሰረታዊ መረጃ እንዲያገኙ በመርዳት ላይ የመጠቀም መብት አለው ። ማመልከቻ.

ጤናማ እና የተጠበቁ ይሁኑ!

ምንጭ: hab.com

አስተያየት ያክሉ