Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

Mes tęsiame kalbėti apie naudingas priemones pentesteriams. Naujame straipsnyje apžvelgsime žiniatinklio programų saugumo analizės įrankius.

Mūsų kolega BeLove Aš jau padariau kažką panašaus kompiliacija maždaug prieš septynerius metus. Įdomu pamatyti, kurios priemonės išlaikė ir sustiprino savo pozicijas, o kurios nublanko į antrą planą ir dabar naudojamos retai.
Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

Atminkite, kad tai taip pat apima „Burp Suite“, tačiau apie tai ir naudingus papildinius bus išleistas atskiras leidinys.

Turinys:

Amasas

Amasas - „Go“ įrankis, skirtas DNS subdomenų paieškai ir surašymui bei išorinio tinklo atvaizdavimui. Amass yra OWASP projektas, skirtas parodyti, kaip internete esančios organizacijos atrodo pašaliniams asmenims. Amass subdomenų pavadinimus gauna įvairiais būdais; įrankis naudoja ir rekursinį subdomenų išvardinimą, ir atvirojo kodo paieškas.

Siekdama atrasti tarpusavyje sujungtus tinklo segmentus ir autonominių sistemų numerius, Amass naudoja IP adresus, gautus veikimo metu. Visa rasta informacija naudojama tinklo žemėlapiui sudaryti.

Argumentai "už":

  • Informacijos rinkimo būdai apima:
    * DNS – subdomenų paieška žodynu, bruteforce subdomenai, išmani paieška naudojant mutacijas pagal rastus subdomenus, atvirkštinės DNS užklausos ir DNS serverių paieška, kur galima pateikti zonos perdavimo užklausą (AXFR);

    * Atvirojo kodo paieška – Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Ieškoti TLS sertifikatų duomenų bazėse – Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Naudojant paieškos sistemų API – BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Ieškokite interneto žiniatinklio archyvuose: ArchiveIt, ArchiveToday, Arquivo, LoCARchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integracija su Maltego;
  • Suteikia išsamiausią DNS subdomenų paieškos užduotį.

Trūkumai:

  • Būkite atsargūs su amass.netdomains – jis bandys susisiekti su kiekvienu IP adresu identifikuotoje infrastruktūroje ir gauti domenų vardus iš atvirkštinės DNS paieškos ir TLS sertifikatų. Tai „aukšto profilio“ technika, ji gali atskleisti jūsų žvalgybinę veiklą tiriamoje organizacijoje.
  • Didelės atminties sąnaudos, įvairiuose nustatymuose gali sunaudoti iki 2 GB RAM, o tai neleis paleisti šio įrankio debesyje ant pigaus VDS.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

Altdns

Altdns — Python įrankis, skirtas sudaryti žodynus, skirtus DNS subdomenams išvardyti. Leidžia generuoti daugybę subdomenų variantų naudojant mutacijas ir permutacijas. Tam naudojami žodžiai, kurie dažnai būna subdomenuose (pavyzdžiui: test, dev, stage), visos mutacijos ir permutacijos taikomos jau žinomiems subdomenams, kuriuos galima pateikti į Altdns įvestį. Išvestis yra subdomenų, kurie gali egzistuoti, variantų sąrašas ir vėliau šis sąrašas gali būti naudojamas DNS brutaliajai jėgai.

Argumentai "už":

  • Puikiai veikia su dideliais duomenų rinkiniais.

akvatonas

akvatonas – anksčiau buvo labiau žinomas kaip dar vienas subdomenų paieškos įrankis, tačiau pats autorius to atsisakė, o naudodamasis jau minėta Amass. Dabar „Aquatone“ buvo perrašytas „Go“ ir yra labiau pritaikytas išankstinei žvalgybai svetainėse. Norėdami tai padaryti, aquatone eina per nurodytus domenus ir ieško svetainių skirtinguose prievaduose, po to surenka visą informaciją apie svetainę ir padaro ekrano kopiją. Patogus greitam išankstiniam svetainių žvalgymui, po kurio galima pasirinkti prioritetinius atakų taikinius.

Argumentai "už":

  • Išvestis sukuria failų ir aplankų grupę, kurią patogu naudoti toliau dirbant su kitais įrankiais:
    * HTML ataskaita su surinktomis ekrano kopijomis ir atsakymų pavadinimais, sugrupuotais pagal panašumą;

    * Failas su visais URL, kuriuose buvo rastos svetainės;

    * Failas su statistika ir puslapio duomenimis;

    * Aplankas su failais, kuriuose yra rastų taikinių atsakymo antraštės;

    * Aplankas su failais, kuriuose yra atsakymo iš rastų taikinių tekstas;

    * Rastų svetainių ekrano kopijos;

  • Palaiko darbą su XML ataskaitomis iš Nmap ir Masscan;
  • Ekrano kopijoms pateikti naudoja begalvę „Chrome“ / „Chromium“.

Trūkumai:

  • Jis gali patraukti įsibrovimo aptikimo sistemų dėmesį, todėl jį reikia konfigūruoti.

Ekrano kopija buvo padaryta vienai iš senų aquatone versijų (v0.5.0), kurioje buvo įdiegta DNS padomenio paieška. Senesnes versijas galite rasti adresu leidimų puslapį.
Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

„MassDNS“

„MassDNS“ yra dar vienas įrankis DNS subdomenams rasti. Pagrindinis skirtumas yra tas, kad jis pateikia DNS užklausas tiesiogiai daugeliui skirtingų DNS sprendinių ir daro tai dideliu greičiu.

Argumentai "už":

  • Greitas – galintis per sekundę išspręsti daugiau nei 350 tūkstančių vardų.

Trūkumai:

  • MassDNS gali labai apkrauti naudojamus DNS sprendiklius, todėl gali būti uždrausti tie serveriai arba pateikti skundai jūsų IPT. Be to, tai labai apkraus įmonės DNS serverius, jei jie juos turi ir jei jie yra atsakingi už domenus, kuriuos bandote išspręsti.
  • Rezolierių sąrašas šiuo metu yra pasenęs, bet jei pasirinksite sugedusius DNS sprendiklius ir pridėsite naujų žinomų, viskas bus gerai.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?
Aquatone v0.5.0 ekrano kopija

nsec3map

nsec3map yra Python įrankis, skirtas gauti visą DNSSEC apsaugotų domenų sąrašą.

Argumentai "už":

  • Greitai aptinka pagrindinius kompiuterius DNS zonose su minimaliu užklausų skaičiumi, jei zonoje įjungtas DNSSEC palaikymas;
  • Apima John the Ripper įskiepį, kurį galima naudoti gautoms NSEC3 maišoms nulaužti.

Trūkumai:

  • Daugelis DNS klaidų nėra tinkamai tvarkomos;
  • Nėra automatinio NSEC įrašų apdorojimo lygiagretinimo – vardų erdvę turite padalinti rankiniu būdu;
  • Didelis atminties suvartojimas.

Acunetix

Acunetix — žiniatinklio pažeidžiamumo skaitytuvas, automatizuojantis žiniatinklio programų saugumo tikrinimo procesą. Tikrina programą dėl SQL injekcijų, XSS, XXE, SSRF ir daugelio kitų žiniatinklio spragų. Tačiau, kaip ir bet kuris kitas skaitytuvas, daugybė žiniatinklio pažeidžiamumų nepakeičia pentesterio, nes jis negali rasti sudėtingų pažeidžiamumų ar logikos pažeidžiamumų grandinių. Tačiau jis apima daugybę skirtingų pažeidžiamumų, įskaitant įvairius CVE, kuriuos pentesteris galėjo pamiršti, todėl labai patogu išlaisvinti jus nuo įprastų patikrinimų.

Argumentai "už":

  • Žemas klaidingų teigiamų rezultatų lygis;
  • Rezultatai gali būti eksportuojami kaip ataskaitos;
  • Atlieka daugybę įvairių pažeidžiamumų patikrinimų;
  • Lygiagretus kelių kompiuterių nuskaitymas.

Trūkumai:

  • Nėra dubliavimo algoritmo („Acunetix“ laikys skirtingus puslapius, kurių funkcionalumas yra identiškas, nes jie nukreipia į skirtingus URL), tačiau kūrėjai su tuo dirba;
  • Reikalingas įdiegimas atskirame žiniatinklio serveryje, o tai apsunkina klientų sistemų su VPN ryšiu testavimą ir skaitytuvo naudojimą izoliuotame vietinio kliento tinklo segmente;
  • Tiriama paslauga gali kelti triukšmą, pavyzdžiui, siųsdama per daug atakos vektorių į kontaktinę formą svetainėje, taip labai apsunkindama verslo procesus;
  • Tai patentuotas ir atitinkamai ne nemokamas sprendimas.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

Dirsearchas

Dirsearchas — „Python“ įrankis, skirtas žiauriai priverstinai sunaikinti katalogus ir failus svetainėse.

Argumentai "už":

  • Gali atskirti tikrus „200 OK“ puslapius nuo „200 OK“ puslapių, bet su tekstu „puslapis nerastas“;
  • Pateikiamas patogus žodynas, kuriame yra geras dydžio ir paieškos efektyvumo balansas. Yra standartiniai keliai, bendri daugeliui TVS ir technologijų krūvų;
  • Atskiras žodyno formatas, leidžiantis pasiekti gerą failų ir katalogų surašymo efektyvumą ir lankstumą;
  • Patogi išvestis – paprastas tekstas, JSON;
  • Tai gali atlikti stabdymą – pauzę tarp užklausų, kuri yra gyvybiškai svarbi bet kokiai silpnai paslaugai.

Trūkumai:

  • Plėtiniai turi būti perduodami kaip eilutė, o tai nepatogu, jei vienu metu reikia perduoti daug plėtinių;
  • Kad galėtumėte naudoti savo žodyną, jį reikės šiek tiek pakeisti į Dirsearch žodyno formatą, kad būtų maksimaliai efektyvus.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

wfuzz

wfuzz - Python žiniatinklio programos fuzzeris. Turbūt vienas žinomiausių interneto fazerių. Principas paprastas: wfuzz leidžia fazuoti bet kurią HTTP užklausos vietą, o tai leidžia fazuoti GET/POST parametrus, HTTP antraštes, įskaitant Cookie ir kitas autentifikavimo antraštes. Tuo pačiu metu tai patogu ir paprastam brutaliam katalogų ir failų kūrimui, kuriam reikia gero žodyno. Taip pat turi lanksčią filtrų sistemą, su kuria galima filtruoti atsakymus iš svetainės pagal skirtingus parametrus, kas leidžia pasiekti efektyvių rezultatų.

Argumentai "už":

  • Daugiafunkcis – modulinė konstrukcija, surinkimas trunka kelias minutes;
  • Patogus filtravimo ir purškimo mechanizmas;
  • Galite fazuoti bet kurį HTTP metodą, taip pat bet kurią HTTP užklausos vietą.

Trūkumai:

  • Kuriama.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

ffuf

ffuf – „Go“ žiniatinklio fuzeris, sukurtas pagal wfuzz „vaizdą ir panašumą“, leidžia atkurti failus, katalogus, URL kelius, GET/POST parametrų pavadinimus ir reikšmes, HTTP antraštes, įskaitant pagrindinio kompiuterio antraštę, skirtą žiauriai jėgai. virtualių kompiuterių. wfuzz nuo savo brolio skiriasi didesniu greičiu ir kai kuriomis naujomis funkcijomis, pavyzdžiui, palaiko Dirsearch formato žodynus.

Argumentai "už":

  • Filtrai yra panašūs į wfuzz filtrus, jie leidžia lanksčiai konfigūruoti brutalią jėgą;
  • Leidžia sumaišyti HTTP antraštės reikšmes, POST užklausos duomenis ir įvairias URL dalis, įskaitant GET parametrų pavadinimus ir reikšmes;
  • Galite nurodyti bet kurį HTTP metodą.

Trūkumai:

  • Kuriama.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

gobusteris

gobusteris — „Go“ įrankis, skirtas žvalgybai, turi du veikimo režimus. Pirmasis naudojamas žiauriai priverstinai priverstinai veikiant failus ir katalogus svetainėje, o antrasis naudojamas DNS subdomenams brutaliam priverstiniam veikimui. Įrankis iš pradžių nepalaiko rekursyvaus failų ir katalogų sąrašo, o tai, žinoma, sutaupo laiko, tačiau, kita vertus, žiauriai kiekvieno naujo svetainės galinio taško jėga turi būti paleista atskirai.

Argumentai "už":

  • Didelis veikimo greitis tiek DNS subdomenų paieškai, tiek failų ir katalogų brutaliajai paieškai.

Trūkumai:

  • Dabartinė versija nepalaiko HTTP antraščių nustatymo;
  • Pagal numatytuosius nustatymus tik kai kurie HTTP būsenos kodai (200,204,301,302,307 XNUMX XNUMX XNUMX XNUMX) laikomi galiojančiais.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

Arjun

Arjun - įrankis, skirtas žiauriai paslėptų HTTP parametrų jėgai GET/POST parametruose, taip pat JSON. Integruotame žodyne yra 25 980 žodžių, kuriuos Ajrun patikrina per beveik 30 sekundžių. Gudrybė ta, kad Ajrun netikrina kiekvieno parametro atskirai, o vienu metu patikrina ~1000 parametrų ir žiūri ar nepasikeitė atsakymas. Jei atsakymas pasikeitė, jis padalija šiuos 1000 parametrų į dvi dalis ir patikrina, kuri iš šių dalių turi įtakos atsakymui. Taigi, naudojant paprastą dvejetainę paiešką, randamas parametras arba keli paslėpti parametrai, kurie turėjo įtakos atsakymui ir todėl gali egzistuoti.

Argumentai "už":

  • Didelis greitis dėl dvejetainės paieškos;
  • GET/POST parametrų palaikymas, taip pat parametrai JSON forma;

„Burp Suite“ papildinys veikia panašiu principu - param-mineris, kuri taip pat labai gerai padeda rasti paslėptus HTTP parametrus. Daugiau apie tai papasakosime būsimame straipsnyje apie Burp ir jo papildinius.
Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

LinkFinder

LinkFinder - Python scenarijus, skirtas ieškoti nuorodų „JavaScript“ failuose. Naudinga ieškant paslėptų arba pamirštų galinių taškų / URL žiniatinklio programoje.

Argumentai "už":

  • Greitai;
  • Yra specialus „Chrome“ papildinys, pagrįstas „LinkFinder“.

.

Trūkumai:

  • Nepatogi galutinė išvada;
  • Neanalizuoja JavaScript laikui bėgant;
  • Gana paprasta logika ieškant nuorodų – jei JavaScript kažkaip užmaskuotas, arba nuorodų iš pradžių trūksta ir jos sugeneruojamos dinamiškai, tada nieko nepavyks rasti.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

JSParser

JSParser yra Python scenarijus, kuris naudoja Tornadas и JSBeautifier išanalizuoti santykinius URL iš „JavaScript“ failų. Labai naudinga aptikti AJAX užklausas ir sudaryti API metodų, su kuriais programa sąveikauja, sąrašą. Efektyviai veikia kartu su LinkFinder.

Argumentai "už":

  • Greitas JavaScript failų analizavimas.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

sqlmap

sqlmap turbūt yra vienas žinomiausių žiniatinklio programų analizės įrankių. „Sqlmap“ automatizuoja SQL injekcijų paiešką ir veikimą, dirba su keliais SQL dialektais ir savo arsenale turi daugybę skirtingų metodų – nuo ​​tiesioginių kabučių iki sudėtingų vektorių, skirtų laiku pagrįstoms SQL injekcijoms. Be to, jis turi daug technikų, leidžiančių toliau naudoti įvairias DBVS, todėl jis naudingas ne tik kaip SQL injekcijų skaitytuvas, bet ir kaip galingas įrankis jau rastoms SQL injekcijoms išnaudoti.

Argumentai "už":

  • Daug įvairių technikų ir vektorių;
  • Mažas klaidingų teigiamų rezultatų skaičius;
  • Daug koregavimo parinkčių, įvairios technikos, tikslinių duomenų bazė, tamper scenarijai, skirti apeiti WAF;
  • Gebėjimas sukurti išvesties sąvartyną;
  • Daug įvairių operatyvinių galimybių, pavyzdžiui, kai kurioms duomenų bazėms – automatinis failų įkėlimas/iškrovimas, komandų vykdymo galimybės (RCE) gavimas ir kitos;
  • Tiesioginio prisijungimo prie duomenų bazės palaikymas naudojant atakos metu gautus duomenis;
  • Galite pateikti tekstinį failą su Burp rezultatais kaip įvestis – nereikia rankiniu būdu sudaryti visų komandinės eilutės atributų.

Trūkumai:

  • Sunku pritaikyti, pavyzdžiui, išrašyti kai kuriuos savo čekius, nes tam trūksta dokumentų;
  • Neturėdamas atitinkamų nustatymų, jis atlieka neišsamų patikrinimų rinkinį, kuris gali būti klaidinantis.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

NoSQLMap

NoSQLMap — Python įrankis, skirtas automatizuoti NoSQL injekcijų paiešką ir naudojimą. Patogu naudoti ne tik NoSQL duomenų bazėse, bet ir tiesiogiai audituojant žiniatinklio programas, kurios naudoja NoSQL.

Argumentai "už":

  • Kaip ir sqlmap, jis ne tik randa galimą pažeidžiamumą, bet ir patikrina jo išnaudojimo galimybę MongoDB ir CouchDB.

Trūkumai:

  • Nepalaiko NoSQL, skirto Redis, Cassandra, plėtra vyksta šia kryptimi.

oxml_xxe

oxml_xxe — įrankis, skirtas XXE XML eksploatacijai įterpti į įvairių tipų failus, kurie tam tikra forma naudoja XML formatą.

Argumentai "už":

  • Palaiko daugybę įprastų formatų, tokių kaip DOCX, ODT, SVG, XML.

Trūkumai:

  • PDF, JPEG, GIF palaikymas nėra visiškai įdiegtas;
  • Sukuria tik vieną failą. Norėdami išspręsti šią problemą, galite naudoti įrankį docem, kuris gali sukurti daug naudingų failų įvairiose vietose.

Aukščiau pateiktos paslaugos puikiai atlieka XXE testavimą, kai įkeliami dokumentai, kuriuose yra XML. Tačiau taip pat atminkite, kad XML formato tvarkykles galima rasti daugeliu kitų atvejų, pavyzdžiui, XML gali būti naudojamas kaip duomenų formatas, o ne JSON.

Todėl rekomenduojame atkreipti dėmesį į šią saugyklą, kurioje yra daug skirtingų naudingų apkrovų: Naudingi kroviniaiAllTheThings.

tplmap

tplmap - „Python“ įrankis, skirtas automatiškai identifikuoti ir išnaudoti serverio pusės šablonų įpurškimo spragas; jis turi nustatymus ir vėliavėles, panašias į „sqlmap“. Naudoja keletą skirtingų metodų ir vektorių, įskaitant akląjį įpurškimą, taip pat turi kodo vykdymo ir savavališkų failų įkėlimo / įkėlimo metodus. Be to, jo arsenale yra technikų, skirtų keliolikai skirtingų šablonų variklių ir kai kurių metodų, kaip ieškoti į eval() panašių kodų injekcijų Python, Ruby, PHP, JavaScript. Jei pasiseks, atidaroma interaktyvi konsolė.

Argumentai "už":

  • Daug įvairių technikų ir vektorių;
  • Palaiko daugybę šablonų atvaizdavimo variklių;
  • Daug veikimo technikų.

CeWL

CeWL - Ruby žodyno generatorius, sukurtas išskirti unikalius žodžius iš nurodytos svetainės, seka nuorodas svetainėje iki nurodyto gylio. Sudarytas unikalių žodžių žodynas vėliau gali būti naudojamas norint priversti slaptažodžius paslaugose arba brutalią prievartą toje pačioje svetainėje esantiems failams ir katalogams arba atakuoti gautas maišas naudojant hashcat arba John the Ripper. Naudinga sudarant „tikslinį“ galimų slaptažodžių sąrašą.

Argumentai "už":

  • Paprasta naudoti.

Trūkumai:

  • Turite būti atsargūs su paieškos gyliu, kad neužfiksuotumėte papildomo domeno.

Silpnasis leidimas

Silpnasis leidimas - paslauga, kurioje yra daug žodynų su unikaliais slaptažodžiais. Itin naudinga atliekant įvairias užduotis, susijusias su slaptažodžių nulaužimu, pradedant nuo paprastos internetinės žiaurios paskyrų jėgos tikslinėse paslaugose iki grubios gautų maišų panaudojimo neprisijungus. hashcat arba John The Ripper. Jame yra apie 8 milijardai slaptažodžių, kurių ilgis svyruoja nuo 4 iki 25 simbolių.

Argumentai "už":

  • Yra tiek konkretūs žodynai, tiek žodynai su dažniausiai pasitaikančiais slaptažodžiais – galite pasirinkti konkretų žodyną savo poreikiams;
  • Žodynai atnaujinami ir papildomi naujais slaptažodžiais;
  • Žodynai rūšiuojami pagal efektyvumą. Galite pasirinkti tiek greitos internetinės grubios jėgos, tiek detalaus slaptažodžių parinkimo iš didelio žodyno su naujausiais informacijos nutekėjimais parinktį;
  • Yra skaičiuotuvas, rodantis laiką, kurio reikia žiauriems slaptažodžiams jūsų įrenginyje.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

Į atskirą grupę norėtume įtraukti TVS patikrų įrankius: WPScan, JoomScan ir AEM hacker.

AEM_hacker

AEM įsilaužėlis yra įrankis, leidžiantis nustatyti „Adobe Experience Manager“ (AEM) programų pažeidžiamumą.

Argumentai "už":

  • Gali identifikuoti AEM programas iš URL sąrašo, pateikto į jo įvestį;
  • Yra scenarijų, skirtų RCE gauti įkeliant JSP apvalkalą arba naudojant SSRF.

JoomScan

JoomScan – „Perl“ įrankis, skirtas automatizuoti pažeidžiamumų aptikimą diegiant „Joomla CMS“.

Argumentai "už":

  • Geba rasti konfigūracijos trūkumus ir administracinių nustatymų problemas;
  • Išvardija Joomla versijas ir susijusias spragas, panašiai ir atskiriems komponentams;
  • Sudėtyje yra daugiau nei 1000 Joomla komponentų išnaudojimų;
  • Galutinių ataskaitų išvedimas tekstiniu ir HTML formatu.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

WPScan

WPScan - WordPress svetainių nuskaitymo įrankis, jo arsenale yra pažeidžiamumų tiek pačiam WordPress varikliui, tiek kai kuriems papildiniams.

Argumentai "už":

  • Galimybė išvardyti ne tik nesaugius WordPress papildinius ir temas, bet ir gauti vartotojų sąrašą bei TimThumb failus;
  • Gali vykdyti brutalios jėgos atakas „WordPress“ svetainėse.

Trūkumai:

  • Neturėdamas atitinkamų nustatymų, jis atlieka neišsamų patikrinimų rinkinį, kuris gali būti klaidinantis.

Žiniatinklio įrankiai arba nuo ko pradėti, kai norisi?

Apskritai skirtingi žmonės darbui teikia pirmenybę skirtingiems įrankiams: visi jie yra savaip geri, o tai, kas patinka vienam, kitam gali visiškai netikti. Jei manote, kad mes nesąžiningai ignoravome gerą įrankį, parašykite apie tai komentaruose!

Šaltinis: www.habr.com

Добавить комментарий