Python atrodiet ievainojamu tīmekļa serveri un reklāmkarogu satveršanu

Satura rādītājs

Šajā apmācībā mēs runāsim par Reklāmkaroga satveršana, a tehniku, ko izmanto, lai iegūtu informāciju par tīklā atrastajiem pakalpojumiem. Pateicoties tam, mēs varam atklāt tīklā mašīnas, kurās darbojas pakalpojumi ar zināmām ievainojamībām, ja mēs vēlamies pārbaudīt ievainojamības, mēs varam doties uz šo lapu: CVE.

Lai saprastu tā izmantošanu, mēs turpināsim sniegt piemēru, tas mēģinās pārbaudīt, vai tīmekļa serveris ir neaizsargāts (šajā apmācībā mēs koncentrēsimies tikai uz tīmekli). Iedomāsimies, ka mēs meklējam divu veidu ievainojamības, tāpēc teksta failam pievienojam šādas 2 rindiņas (mans fails tiks saukts neaizsargāts.txt):

 Apache / 2.4.18 CVE-2016-4979 Apache / 2.3.20 CVE-2016-4438
Tālāk es ievietoju kodu Python, priekš 3.X versija, un paskaidrojums ir sniegts zemāk.
 importēt http.client host = "localhost" http = http.client.HTTPConnection (resursdators, taimauts = 2) http.request ("HEAD", "/") server = http.getresponse (). getheader ('server') ir neaizsargāts = atvērts ("neaizsargāts.txt", "r") irVulnerable = Nepareizs pakalpojumam neaizsargātos: s = service.split ("") if (s [0] in server)): print (host, "has service", s [0], "ar iespējamu ievainojamību", s [1]) isVulnerable = True, ja (nav isVulnerable): print (host, "acīmredzot nav servera, kas ir neaizsargāts pret to, ko meklējat")
Tagad mēs redzēsim skaidrojumu pa koda daļām, vispirms importēsim bibliotēku http.klients ka mums tas būs vajadzīgs:
 importēt http.client
Tālāk mēs definējam saimnieks un mēs izveidojam savienojumu ar a pārtraukums 2 sekundes.
 resursdators = "localhost" http = http.client.HTTPConnection (resursdators, taimauts = 2)
Mūsu nākamais solis ir izveidot a HEAD tipa pieprasījums, kas neatdos ķermeni (datus, bet mums tas nav vajadzīgs). Un tad mēs saņemam atbildi.
 http.request ("HEAD", "/") serveris = http.getresponse (). getheader ('server')
Tagad mēs atvērsim teksta failu lasīšanas režīmā (r), meklējot ievainojamības, un mēs izveidojam Būla mainīgo, kas palīdz mums uzzināt, vai ievainojamība tika atrasta (tas palīdzēs mums beigās parādīt ziņojumu vai nē).
 neaizsargāts = atvērts ("neaizsargāts.txt", "r") esVulnerable = False
Šobrīd mēs izveidosim cilpu, kas izies cauri katram neaizsargātajam serverim, kuru esam ievietojuši failā, lai pārbaudītu, vai tas tiek izmantots apspriestajā lapā. Metode tiek izmantota sadalīt lai pārtrauktu rindu serverī un ievainojamību, kā redzams iepriekš, fails tiek atdalīts ar tukšu vietu.
 pakalpojumam neaizsargātā vietā: s = service.split ("") if (s [0] in server): print (host, "has service", s [0], "ar iespējamu ievainojamību", s [1]) isVulnerable = Taisnība
Visbeidzot, mēs aizveram atvērto failu un pārbaudām, vai esam atklājuši ievainojamību, ja nē, mēs parādām lietotājam ziņojumu, lai viņš būtu informēts.
 neaizsargāts.close () if (not isVulnerable): print (resursdators, "acīmredzot nav servera, kas ir neaizsargāts pret to, ko meklējat") 
Sāksim to pret diviem mērķiem, pirmais ir solvetic.com:

Un otrais un pēdējais mērķis ir mana mašīna, man darbojas Apache serveris, kas varētu būt neaizsargāts tās izmantotās Apache versijas dēļ.

Ja mēs vēlamies uzzināt kaut ko par ievainojamību, lapā, kuru es atstāju sākumā, varat meklēt CVE, ko varat redzēt terminālī: CVE-2016-4979. Jūs noklikšķināsit uz Meklēšana un ielāde un ievietojiet identifikatoru Meklēt CVE galveno kopiju, lodziņā zem teksta pēc CVE identifikatora un pēc tam noklikšķiniet uz Iesniegt.

Ievainojamība iznāks, un jūs varēsit redzēt paskaidrojumu, atsauces, datumus utt.

Šeit pamācība secina, ka šo paņēmienu var izmantot, lai meklētu neaizsargātus pakalpojumus ne tikai tīmekļa serveriem, bet arī vienlaikus varat pārbaudīt vairākus saimniekdatorus, lai tas nebūtu jāuzsāk vairākas reizes, šeit vienkāršības labad tas ir norādīts uz tīmekļa serveri un vienu resursdatoru. Jūs varat arī veikt reklāmkarogu satveršanu ar Telnet vai Netcat palīdzību, šeit ir attēls par Telnet izmantošanu, lai noņemtu serveri no mana vietējā saimnieka:

PiezīmeOperētājsistēmā Windows Telnet pēc noklusējuma ir atspējots, ja vēlaties to aktivizēt, varat izpildīt šo apmācību.

Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave