Bet kokia pažeidžiamumų paieška žiniatinklio šaltiniuose prasideda nuo žvalgybos ir informacijos rinkimo.
Žvalgymas gali būti aktyvus – žiauri svetainės failų ir katalogų jėga, pažeidžiamumo skaitytuvų veikimas, neautomatinis svetainės naršymas arba pasyvus – informacijos paieška įvairiose paieškos sistemose. Kartais atsitinka taip, kad pažeidžiamumas tampa žinomas dar prieš atidarant pirmąjį svetainės puslapį.
Kaip tai įmanoma?
Paieškos robotai, nuolat naršantys internete, be paprastam vartotojui naudingos informacijos, dažnai įrašo dalykus, kuriuos užpuolikai gali panaudoti atakuodami žiniatinklio išteklius. Pavyzdžiui, scenarijaus klaidos ir failai su slapta informacija (nuo konfigūracijos failų ir žurnalų iki failų su autentifikavimo duomenimis ir duomenų bazės atsarginėmis kopijomis).
Paieškos roboto požiūriu klaidos pranešimas apie sql užklausos vykdymą yra paprastas tekstas, neatsiejamas, pavyzdžiui, nuo produktų aprašymo puslapyje. Jei staiga paieškos robotas aptiktų failą su plėtiniu .sql, kuris dėl kokių nors priežasčių atsidūrė svetainės darbiniame aplanke, tada jis bus suvokiamas kaip svetainės turinio dalis ir taip pat bus indeksuojamas (įskaitant, galbūt, slaptažodžius). jame nurodyta).
Tokią informaciją galima rasti žinant stiprius, dažnai unikalius raktinius žodžius, kurie padeda atskirti „pažeidžiamus puslapius“ nuo puslapių, kuriuose nėra pažeidžiamumų.
Exploit-db.com yra didžiulė specialių užklausų, naudojant raktinius žodžius (vadinamieji dorks), duomenų bazė, žinoma kaip Google Hack duomenų bazė.
Kodėl google?
„Dorks“ pirmiausia yra orientuota į „Google“ dėl dviejų priežasčių:
− lanksčiausia raktinių žodžių (parodyta 1 lentelėje) ir specialiųjų simbolių (parodyta 2 lentelėje) sintaksė;
− Google indeksas vis dar išsamesnis nei kitų paieškos sistemų;
1 lentelė. Pagrindiniai Google raktažodžiai
raktinis žodis |
Reikšmė |
Pavyzdys |
svetainę |
Ieškokite tik nurodytoje svetainėje. Atsižvelgiama tik į url |
site:somesite.ru – ras visus tam tikro domeno ir padomenių puslapius |
inurl |
Ieškokite pagal žodžius, esančius uri. Skirtingai nuo kl. žodžiai „svetainė“, ieško atitikmenų po svetainės pavadinimo |
inurl:news – suranda visus puslapius, kuriuose nurodytas žodis yra uri |
tekste |
Ieškokite puslapio turinyje |
intext:"kamščiai" - visiškai panašus į įprastą užklausą dėl "kamščių" |
titulas |
Ieškokite puslapio pavadinime. Tekstas tarp žymų |
intitle:”index of” – ras visus puslapius su katalogų sąrašais |
ext |
Ieškokite puslapių su nurodytu plėtiniu |
ext:pdf – randa visus pdf failus |
Failo tipas |
Šiuo metu visiškai panašus į klasę. žodis "ext" |
failo tipas:pdf – panašus |
susijęs |
Ieškokite svetainių panašiomis temomis |
related:google.ru - parodys savo analogus |
nuoroda |
Ieškokite svetainių, nukreipiančių į tai |
nuoroda:somesite.ru - rasite visas svetaines, kuriose yra nuoroda į tai |
apibrėžti |
Rodyti žodžio apibrėžimą |
define:0day – termino apibrėžimas |
talpykla |
Rodyti puslapio turinį talpykloje (jei yra) |
cache:google.com – atidarys talpykloje saugomą puslapį |
2 lentelė – specialieji „Google“ užklausų simboliai
Simbolis |
Reikšmė |
Pavyzdys |
“ |
Tiksli frazė |
intitle:"RouterOS maršrutizatoriaus konfigūracijos puslapis" - maršrutizatorių paieška |
* |
Bet koks tekstas |
inurl: „bitrix*mcart“ – ieškokite svetainių „bitrix“ su pažeidžiamu „mcart“ moduliu |
. |
Bet koks personažas |
Index.of – panašus į užklausos indeksą |
- |
Ištrinti žodį |
error -warning - rodyti visus puslapius, kuriuose yra klaida, bet nėra įspėjimo |
.. |
diapazonas |
cve 2006..2016 - rodyti pažeidžiamumus pagal metus nuo 2006 m. |
| |
Logiškas "arba" |
Linux | langai – rodo puslapius, kuriuose yra pirmas arba antras žodis |
Verta suprasti, kad bet kokia užklausa paieškos sistemai yra paieška tik pagal žodžius.
Nenaudinga puslapyje ieškoti meta simbolių (kabutės, skliaustai, skyrybos ženklai ir pan.). Netgi tikslios frazės, nurodytos kabutėse, paieška yra žodžių paieška, po kurios rezultatuose ieškoma tikslios atitikties.
Visi Google Hack Database dorks yra logiškai suskirstyti į 14 kategorijų ir pateikiami 3 lentelėje.
3 lentelė – Google Hack duomenų bazės kategorijos
Kategorija |
Kas leidžia rasti |
Pavyzdys |
Pėdos |
Žiniatinklio apvalkalai, viešosios failų tvarkyklės |
Raskite visas svetaines, į kurias buvo įsilaužta, į kurias įkeliami išvardyti žiniatinklio apvalkalai: (intitle:"phpshell" ARBA intitle:"c99shell" ARBA intitle:"r57shell" ARBA intitle:"PHP Shell" ARBA intitle:"phpRemoteView") `rwx` "uname" |
Failai, kuriuose yra naudotojų vardai |
Registro failai, konfigūracijos failai, žurnalai, failai, kuriuose yra įvestų komandų istorija |
Raskite visus registro failus su paskyros informacija: failo tipas:reg reg +intext:"interneto paskyros tvarkyklė" |
Jautrūs katalogai |
Katalogai su įvairia informacija (asmeniniai dokumentai, vpn konfigūracijos, paslėptos saugyklos ir kt.) |
Raskite visus katalogų sąrašus, kuriuose yra su VPN susijusių failų: "Config" intitle: "Index of" intext:vpn Svetainės, kuriose yra git saugyklos: (intext:"/.git indeksas") ("pirminis katalogas") |
Žiniatinklio serverio aptikimas |
Versija ir kita informacija apie žiniatinklio serverį |
Raskite JBoss serverio administracines konsoles: inurl:"/web-console/" intitle:"Administravimo pultas" |
Pažeidžiami failai |
Scenarijai, kuriuose yra žinomų pažeidžiamumų |
Raskite svetaines, kuriose naudojamas scenarijus, leidžiantis įkelti savavališką failą iš serverio: allinurl:forcedownload.php?file= |
Pažeidžiami serveriai |
Diegimo scenarijai, žiniatinklio apvalkalai, atviros administracinės konsolės ir kt. |
Raskite atidarytas PHPMyAdmin konsoles, veikiančias kaip root: intitle:phpMyAdmin "Sveiki atvykę į phpMyAdmin ***" "veikia * kaip root@*" |
Klaidų pranešimai |
Įvairios klaidos ir įspėjimai dažnai atskleidžia svarbią informaciją – nuo TVS versijos iki slaptažodžių |
Svetainės, kuriose yra klaidų vykdant SQL užklausas duomenų bazėje: "Įspėjimas: mysql_query()" "netinkama užklausa" |
Failai, kuriuose yra sultingos informacijos |
Sertifikatai, atsarginės kopijos, el. laiškai, žurnalai, SQL scenarijai ir kt. |
Raskite inicijavimo sql scenarijus: failo tipas: sql ir „įterpti“ -site: github.com |
Failai su slaptažodžiais |
Viskas, kas gali turėti slaptažodžių – žurnalai, sql scenarijai ir kt. |
Žurnalai, kuriuose minimi slaptažodžiai: Failo tipas:žurnalasintext:slaptažodis |praeiti |pw sql scenarijai su slaptažodžiais: ext:sqlintext:Vartotojo vardasintext:Slaptažodis |
Jautri informacija apie apsipirkimą internetu |
Informacija, susijusi su pirkimu internetu |
Raskite PIN kodus: dcid=bn=smeigtukaskodas = |
Tinklo arba pažeidžiamumo duomenys |
Informacija, kuri nėra tiesiogiai susijusi su žiniatinklio ištekliu, bet turi įtakos tinklui ar kitoms ne žiniatinklio paslaugoms |
Raskite automatinio tarpinio serverio konfigūracijos scenarijus su informacija apie vidinį tinklą: inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl |
Puslapiai, kuriuose yra prisijungimo portalai |
Puslapiai su prisijungimo formomis |
salogon tinklalapiai: intext:"2016 SAP AG. Visos teisės saugomos." pavadinimas: "Prisijungti" |
Įvairūs internetiniai įrenginiai |
Spausdintuvai, maršrutizatoriai, stebėjimo sistemos ir kt. |
Raskite spausdintuvo konfigūracijos skydelį: pavadinimas:"hplazeris"inurl:SSI/Auth/set_config_įrenginio informacija.htm |
Patarimai ir pažeidžiamumas |
Svetainės su pažeidžiamomis TVS versijomis |
Raskite pažeidžiamus papildinius, per kuriuos į serverį galite įkelti savavališką failą: inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled |
„Dorks“ dažniau orientuojasi į paiešką visose interneto svetainėse. Tačiau niekas netrukdo apriboti paieškos apimties bet kurioje svetainėje ar svetainėse.
Kiekviena „Google“ užklausa gali būti nukreipta į konkrečią svetainę, prie užklausos pridedant raktinį žodį „site:somesite.com“. Šis raktinis žodis gali būti pridėtas prie bet kurio dork.
Pažeidžiamumų paieškos automatizavimas
Taip gimė idėja parašyti paprastą įrankį, kuris automatizuoja pažeidžiamumų paiešką naudojant paieškos sistemą (google) ir remiasi Google Hack duomenų baze.
Priemonė yra scenarijus, parašytas nodejs naudojant phantomjs. Tiksliau sakant, scenarijų interpretuoja pats phantomjs.
Phantomjs yra visavertė interneto naršyklė be GUI, valdoma js kodu ir su patogia API.
Komunalinė įmonė gavo gana suprantamą pavadinimą - dorks. Paleidę jį komandinėje eilutėje (be parinkčių), gauname trumpą pagalbą su keliais naudojimo pavyzdžiais:
1 paveikslas – pagrindinių „dorks“ parinkčių sąrašas
Bendra naudingumo sintaksė yra tokia: dork „command“ „parinkčių sąrašas“.
Išsamus visų variantų aprašymas pateiktas 4 lentelėje.
4 lentelė – Dorks sintaksė
Komanda |
Variantas |
apibūdinimas |
ghdb |
-l |
Išspausdinkite sunumeruotą dork kategorijų sąrašą Google Hack duomenų bazėje |
-c „kategorijos numeris arba pavadinimas“ |
Nurodytos kategorijos duris pakrauti pagal numerį arba pavadinimą |
|
-q "frazė" |
Atsisiųsti dorks rasti pagal užklausą |
|
-o "failas" |
Išsaugokite rezultatą faile (tik su -c|-q parinktimis) |
|
google |
-d "dork" |
Nustatykite savavališką dork (parinktį galima naudoti daug kartų, leidžiama derinti su -D parinktimi) |
-D "failas" |
Naudokite dorks iš failo |
|
-s "svetainė" |
Nustatyti svetainę (parinktį galima naudoti daug kartų, leidžiama derinti su parinktimi -S) |
|
-S "failas" |
Naudoti svetaines iš failo (kiekvienoje svetainėje „dorks“ bus ieškoma atskirai) |
|
-f "filtras" |
Nustatyti papildomus raktinius žodžius (bus pridėta prie kiekvieno dork) |
|
-t "ms skaičius" |
Intervalas tarp užklausų „Google“. |
|
-T "ms skaičius" |
Baigėsi skirtasis laikas, jei aptinkamas „captcha“. |
|
-o "failas" |
Išsaugokite rezultatą į failą (bus išsaugoti tik tie takeliai, kuriems kažkas buvo rasta) |
Naudodami komandą ghdb, galite gauti visus dorks iš exploit-db pagal savavališką užklausą arba nurodyti visą kategoriją. Jei nurodysite 0 kategoriją, bus iškraunama visa duomenų bazė (apie 4,5 tūkst. dorkų).
Šiuo metu galimų kategorijų sąrašas pateiktas 2 pav.
2 paveikslas – galimų GHDB dork kategorijų sąrašas
„Google“ komanda pakeis kiekvieną „dork“ į „Google“ paieškos variklį ir analizuos atitikčių rezultatus. Keliai, kuriuose kažkas buvo rasta, bus įrašyti į failą.
Priemonė palaiko įvairius paieškos režimus:
1 dokas ir 1 aikštelė;
1 dokas ir daug svetainių;
1 aikštelė ir daug dorkų;
daug vietų ir daug dorkų;
Dorkų ir svetainių sąrašas gali būti nurodytas naudojant argumentą arba failą.
Darbo demonstravimas
Pabandykime ieškoti pažeidžiamumų naudodami klaidų pranešimų paieškos pavyzdį. Pagal komandą: dorks ghdb –c 7 –o errors.dorks bus įkeliami visi žinomi „Klaidų pranešimų“ kategorijos dorkai, kaip parodyta 3 paveiksle.
3 pav. Įkeliami visi žinomi „Klaidų pranešimai“ kategorijos dokumentai
Dorks atsisiunčiamas ir įrašomas į failą. Dabar belieka juos „nustatyti“ kurioje nors svetainėje (žr. 4 pav.).
4 pav. Ieškokite dominančios svetainės spragų Google talpykloje
Po kurio laiko tiriamoje svetainėje aptinkami keli puslapiai, kuriuose yra klaidų (žr. 5 pav.).
5 pav. Rasti klaidų pranešimai
Dėl to faile result.txt gauname visą sąrašą dorkų, kurie sukelia klaidą.
6 paveiksle parodytas svetainės klaidų paieškos rezultatas.
6 pav. – Klaidų paieškos rezultatas
Šio dork talpykloje rodomas visas atgalinis sekimas, atskleidžiantis absoliučius scenarijų kelius, svetainės turinio valdymo sistemą ir duomenų bazės tipą (žr. 7 pav.).
7 pav. – informacijos apie svetainės dizainą atskleidimas
Tačiau verta manyti, kad ne visi GHDB dorkai duoda tikrus rezultatus. Be to, Google gali nerasti tikslios atitikties ir parodyti panašų rezultatą.
Tokiu atveju protingiau naudoti savo asmeninį dokų sąrašą. Pavyzdžiui, visada verta ieškoti failų su „neįprastais“ plėtiniais, kurių pavyzdžiai pateikti 8 pav.
8 pav. Failų plėtinių, kurie nėra būdingi įprastam žiniatinklio ištekliui, sąrašas
Dėl to su komanda dorks google –D extensions.txt –f bank, nuo pat pirmo prašymo Google pradeda grąžinti svetaines su “neįprastais” failų plėtiniais (žr. 9 pav.).
9 pav. Ieškokite „blogų“ failų tipų bankų svetainėse
Verta nepamiršti, kad „Google“ nepriima ilgesnių nei 32 žodžių užklausų.
Naudojant komandą dorks google –d intext:"error|warning|notice|sintaksė" –f universitetas
PHP interpretatoriaus klaidų galite ieškoti mokomosiose svetainėse (žr. 10 pav.).
10 pav. PHP vykdymo klaidų paieška
Kartais nėra patogu naudoti vieną ar dvi dokų kategorijas.
Pavyzdžiui, jei žinoma, kad svetainė veikia Wordpress varikliu, tada mums reikia WordPress specifinių modulių. Tokiu atveju patogu naudotis Google Hack Database paieška. Komanda dorks ghdb –q wordpress –o wordpress_dorks.txt atsisiųs visus dorks iš Wordpress, kaip parodyta 11 paveiksle:
11 pav. Su Wordpress susijusių Dorks paieška
Dar kartą grįžkime prie bankų ir naudodami komandą dorks google –D wordpress_dords.txt –f bank pabandykime surasti ką nors įdomaus, susijusio su Wordpress (žr. 12 pav.).
12 pav. „Wordpress“ spragų paieška
Verta paminėti, kad paieška Google Hack duomenų bazėje nepriima žodžių, trumpesnių nei 4 simboliai. Pavyzdžiui, jei svetainės TVS nežinoma, bet kalba žinoma – PHP. Tokiu atveju galite rankiniu būdu filtruoti tai, ko jums reikia, naudodami vamzdį ir sistemos paieškos įrankį dorks –c all | findstr /I php > php_dorks.txt (žr. 13 pav.):
13 pav. Ieškokite visų dokų, kuriuose paminėtas PHP
Pažeidžiamumų ar tam tikros neskelbtinos informacijos paieškos sistemoje reikia ieškoti tik tuo atveju, jei šioje svetainėje yra reikšmingas indeksas. Pavyzdžiui, jei svetainėje yra 10–15 indeksuotų puslapių, tada nieko tokio ieškoti yra kvaila. Patikrinti indekso dydį paprasta – tiesiog „Google“ paieškos juostoje įveskite „site:somesite.com“. Svetainės su nepakankamu indeksu pavyzdys parodytas 14 paveiksle.
14 pav. – svetainės indekso dydžio tikrinimas
Dabar apie nemalonumus... Kartkartėmis Google gali paprašyti captcha – nieko nepadarysi – teks įvesti. Pavyzdžiui, ieškant kategorijoje „Klaidų pranešimai“ (90 dokų), captcha pasirodė tik vieną kartą.
Verta pridurti, kad phantomjs taip pat palaiko darbą per tarpinį serverį tiek per http, tiek per „socks“ sąsają. Norėdami įjungti tarpinio serverio režimą, turite panaikinti atitinkamą eilutę dorks.bat arba dorks.sh.
Įrankį galima įsigyti kaip šaltinio kodą
[Prologas]
Manau, kiekvienas iš mūsų bandėme gauti kreditines korteles savarankiškai, aš ne išimtis.. Pagrindinis būdas yra iškelti internetinės parduotuvės duomenų bazę per SQL-inj.
[Nagrinėjimas]
Viskas prasideda nuo nuorodų analizės. Asmeniškai aš naudojau savo analizatorių. Galite naudoti viešai prieinamą programinę įrangą. Atkreipkite dėmesį, kad neturėtumėte naudoti vien tik užklausos
Inurl:product.php?id=
reikia kazko tokio
Inurl:"product.php?id=" pirkite iPhone
ar net panašiai
Inurl:"*shop.com" inurl:.php?id=" suknelė
Citatos čia vaidina didelį vaidmenį... Štai keletas išmatų takelių:
Inurl:buy.php?category= inurl:gallery.php?id=d= inurl:event.php?id= inurl:view_product.php?id= inurl:product.php?id= inurl:products.php?id= inurl:shop.php?id= inurl:collectionitem.php?id= inurl:shopping.php?id= inurl:items.php?id=
O dabar turime porą tūkstančių nuorodų!
[Patikrinkite, ar nėra sql-inj. Nusausinkite DB]
Tai viskas, mes išanalizuojame savo milijonus nuorodų. Pradedam tikrinti.. O čia aš naudojau savo tikrintuvą.. Galite naudoti viešai prieinamą programinę įrangą...
Štai jis...
Surinkome pažeidžiamas nuorodas ir pradedame jas nusausinti. Asmeniškai aš pirmiausia sukau per Havijų. Jei jis negali, o taip yra 50% atvejų, tada naudojamos jo rankos. Ir štai!!! Mes aptikome lentelę su pavadinimu
Atsidarome, ir..... ir stulpelių su kreditinėmis kortelėmis nėra. hmm...
[SS, kur jo nėra]
Taip, stulpelių su ss neradome, ir tai liūdna. 99% karšių atsisakys tokios parduotuvės ir judės toliau. Nereikia skubėti. Turime visus parduotuvės užsakymus, klientų vardus, pavardes, adresus ir datas. Dabar prisiminkime, kas dažniausiai nutinka, kai suspaudžiame ss? Tiesa, mūsų prašo dokumentų nuotraukų ir kredito kortelės...
[Dabar MES esame parduotuvė!]
Nusausinkite nuo stalo
FName LNvardas užsakymo datos el. paštas
Žinoma, pavadinimai gali skirtis.
Dabar turime viską, ko reikia. Registruojame el. laišką kaip . Dabar mes pasiruošę. Pradėkime siųsti šiukšles...
Laiško teksto pavyzdys:
Gerb. FName LNname, apdorojame jūsų užsakymą. Vykdydami saugumo procedūras, prašome pateikti šiuos dokumentus: 1) Jūsų galiojantį asmens tapatybės dokumentą su nuotrauka (pvz., pasą arba vairuotojo pažymėjimą). 2) Komunalinių paslaugų sąskaita arba banko išrašas, išrašytas jūsų vardu, kuriame nurodytas dabartinis adresas. Atkreipkite dėmesį, kad toks dokumentas gali būti priimtas tik tuo atveju, jei jis yra ne senesnis nei 3 mėnesiai nuo dabartinės datos. 3) Jūsų kredito kortelės kopija (priekinė ir galinė pusė). Patvirtinus asmens tapatybės dokumentą ir sąskaitą už komunalines paslaugas, jie bus patalpinti į saugų failą ir ateityje nereikės jų siųsti iš naujo. Siųskite dokumentus el. paštu Atkreipkite dėmesį, jei po 2 dienų negausime įskaitomo el. laiško, užsakymą atšauksime.
# Visi šiuo metodu gauti dokumentai buvo ištrinti, o parduotuvėms buvo pranešta apie pažeidžiamumą.
# Straipsnis buvo parašytas tik informaciniais tikslais. Aš jokiu būdu neskatinu jūsų imtis veiksmų.
Atsiradus kompiuteriams ir internetui, atsirado daug papildomų profesijų.
Šiuo metu programavimo specialistai yra paklausūs, nes per internetą pradedama daug įvairių projektų. Todėl visi stojantieji turėtų apsvarstyti galimybę rinktis su kompiuteriais susijusią specialybę.
Kaip užsidirbti pinigų žinant PHP? Šiame straipsnyje apžvelgsime vieną iš programavimo sričių. Scenarijų kalba aktyviai naudojama programų kūrimui.
Technologija buvo aktuali daugelį metų, o jei išmoksite PHP, galite uždirbti daug pinigų. Svarbiausia, kad šios srities specialistų paklausa didžiulė.
Kiek uždirba PHP programuotojas?
Tikslios sumos įvardinti neįmanoma, nes visi dirba skirtingose įmonėse, o kai kurie dirba net iš namų. Bet kokiu atveju aktyvūs darbuotojai gauna gerą atlyginimą.
Tie, kurie dirba neišėję iš namų, gauna lygiai tiek, kiek spėja įvykdyti užsakymus. Kainos nišoje nustatomos retai, dažniausiai derinamos individualiai.
Tarp PHP programuotojo darbo privalumų verta paminėti rimtas veiklos perspektyvas ir aktualumą. Tuo metu, kai internetas skverbiasi beveik į visas sritis, dirbti programuotoju tikrai pelninga.
Pasidaro juokinga kiekvieną kartą, kai žmonės pradeda kalbėti apie privačius durnius.
Pradėkime apibrėždami, kas yra dork ir kas yra privatus:
DORK (DORKA)- tai yra kaukė, kitaip tariant, užklausa paieškos sistemai, į kurią atsakydama sistema pateiks svetainių puslapių, kurių adresuose yra tas pats DORK, sąrašą.
Privatus- informacija, prie kurios turi prieigą tik vienas asmuo arba nedidelė grupė žmonių, dirbančių su vienu projektu.
Dabar pažvelkime į frazę " Privatus seksas
".
Jei siunčiame užklausą surasti svetaines tam tikram domenui ir tai duoda kažkokį rezultatą, tai padaryti gali bet kas, todėl pateikta informacija nėra privati.
Ir šiek tiek apie žaidimų/pinigų/parduotuvių pardavėjus.
Daugelis žmonių mėgsta gaminti tokio tipo dorkus:
Steam.php?q= bitcoin.php?id= minecraft.php?id=
Įsivaizduokime, kad nieko nesuprantame apie dorkus ir pabandykime pažiūrėti, kiek nuorodų mums pateikia Google:
Tikriausiai iš karto į galvą šovė tokios mintys: „Chrenovičiau, tu nieko nežinai, pažiūrėk, kiek ten nuorodų, žmonės praktiškai parduoda pinigus!
Bet aš jums pasakysiu ne, nes dabar pažiūrėkime, kokias nuorodas mums suteiks toks prašymas:
Manau, kad supratote esmę, dabar naudokime „Google“ operatorių inurl: Norėdami atlikti tikslią paiešką, pažiūrėkime, kas išeis:
Taip, skaičius smarkiai sumažėjo, tada tas pats. O jei atsižvelgsime į tai, kad bus pasikartojantys domenai + ***.info/vaernamo-nyheter/dennis-steam.php plano nuorodos, tai esmė tokia, kad gauname 5-10 vnt.
Kaip manote, kiek žmonių įtrauks tokias nuorodas į savo svetainę?
Turite užsiregistruoti, kad pamatytumėte nuorodas.
“ ir pan., bet, žinoma, tik keletas.
O tai reiškia, kad dorkams patinka rašyti steam.php?id= nėra prasmės, tada kyla klausimas, kokius dorkius virti?
Ir viskas gana paprasta, reikia surinkti kuo daugiau nuorodų ant savo durų. Daugiausia nuorodų bus iš primityviausios formos nuorodos index.php?id=
Oi, net 538 mln., geras rezultatas, tiesa?
Pridėkime dar inurl:
Na, pusė jų dingo, bet dabar beveik visos nuorodos turės index.php?id=
Iš to, kas pasakyta, galime daryti išvadą: mums reikia dažniausiai naudojamų katalogų, būtent iš jų mūsų rezultatai bus aukščiausi.
Manau, kad daugeliui kilo tokių minčių: „Na, o kas toliau, mums reikia teminių svetainių, o ne visokių svetainių šuniukų mylėtojams! Na, žinoma, bet norėdami pereiti prie svetainių temų, turėsime susipažinti su Google operatoriais, pradėkime. Mes neanalizuosime visų operatorių, o tik tuos, kurie mums padės analizuoti puslapį.
Kokie operatoriai mus domina:
inurl: Rodo svetaines, kurių puslapio adresu yra nurodytas žodis.
Pavyzdys:
Mums reikia svetainių, kurių puslapio adresu yra žodis krepšelis. Sukurkime užklausą kaip inurl: krepšelis ir pateiks visas nuorodas, kur adresu yra žodis krepšelis. Tie. Naudodamiesi šiuo prašymu pasiekėme griežčiau laikymąsi mūsų sąlygų ir pašalinome mums netinkančias nuorodas.
intext: Puslapiai parenkami pagal puslapio turinį.
Pavyzdys:
Tarkime, mums reikia puslapių, kuriuose būtų užrašyti žodžiai bitkoinas. Sukurkime užklausą kaip intext: bitcoin Dabar jis pateiks nuorodas, kur tekste buvo naudojamas žodis bitkoinas.
pavadinimas: Rodomi puslapiai, kurių pavadinimo žymoje yra užklausoje nurodyti žodžiai, manau, jūs jau suprantate, kaip rašyti užklausas, todėl pavyzdžių nepateiksiu.
allinachor: operatorius rodo puslapius, kurių aprašyme yra mus dominančių žodžių.
susijęs: galbūt vienas iš svarbių operatorių, teikiančių panašaus turinio svetaines.
Pavyzdys:
related:exmo.com – jis suteiks mums mainų, pabandykite tai patikrinti patys.
Na, galbūt visi pagrindiniai operatoriai, kurių mums reikia.
Dabar pereikime prie kelių tiesimo naudojant šiuos operatorius.
Prieš kiekvienas duris įdėsime inurl:
Inurl:krepšelis?id= inurl:index?id= inurl:catalog?id=
Taip pat naudokime tekstą: tarkime, kad ieškome žaislų, o tai reiškia, kad mums reikia tokių žodžių kaip dota2, portalas, CSGO...
Intext:dota2 intext:portal intext:csgo
Jei mums reikia frazės, tada allinurl:
Allinurl: GTA SAMP...
Dabar viską suklijuokime ir pažiūrėkime taip:
Inurl:cart?id= intext:dota2 inurl:cart?id= intext:portal inurl:cart?id= intext:csgo inurl:cart?id= allinurl:GTA SAMP inurl:index?id= intext:dota2 inurl:index? id= intext:portal inurl:index?id= intext:csgo inurl:index?id= allinurl:GTA SAMP inurl:catalog?id= intext:dota2 inurl:catalog?id= intext:portal inurl:catalog?id= intext: csgo inurl:catalog?id= allinurl:GTA SAMP
Dėl to gavome žaidimų duris su siauresne ir tikslesne paieška.
Taigi naudokite savo smegenis ir šiek tiek eksperimentuokite su paieškos operatoriais ir raktiniais žodžiais, nereikia iškrypti ir rašyti durnas hochymnogoigr.php?id=
Ačiū visiems, tikiuosi, kad iš šio straipsnio gavote bent ką nors naudingo.
Paveldėjimas – tai į objektą orientuotas programavimo mechanizmas, leidžiantis apibūdinti naują klasę pagal esamą (pagrindinę).
Klasė, kuri gaunama paveldint iš kitos, vadinama poklasiu. Šie santykiai dažniausiai apibūdinami naudojant terminus „tėvas“ ir „vaikas“. Vaikų klasė yra kilusi iš tėvų ir paveldi jos savybes: savybes ir metodus. Paprastai poklasis prideda naujų funkcijų pagrindinės klasės (dar vadinamos superklase) funkcionalumu.
Norėdami sukurti poklasį, klasės deklaracijoje turite naudoti išplėstinį raktinį žodį, po kurio nurodomas klasės, iš kurios paveldėsite, pavadinimas:
amžius = $amžius; ) function add_age () ( $this->age++; ) ) // paskelbti paveldėtą klasę my_Cat extens Cat ( // apibrėžkite savo poklasio metodą function sleep() ( echo "
Zzzzz..."; ) ) $kitty = new my_Cat(10); // iškvieskite paveldėtą metodą $kitty->add_age(); // skaitykite paveldėtos savybės reikšmę echo $kitty->age; // iškvieskite paties poklasio metodas $ kitty->sleep();
Poklasis paveldi prieigą prie visų pirminės klasės metodų ir savybių, nes jie yra viešo tipo. Tai reiškia, kad my_Cat klasės atveju galime iškviesti metodą add_age() ir pasiekti $age ypatybę, net jei jie yra apibrėžti cat klasėje. Taip pat aukščiau pateiktame pavyzdyje poklasis neturi savo konstruktoriaus. Jei poklasis nedeklaruoja savo konstruktoriaus, tada kuriant poklasio egzempliorius bus automatiškai iškviestas superklasės konstruktorius.
Atminkite, kad poklasiai gali nepaisyti savybių ir metodų. Apibrėždami poklasį užtikriname, kad jo egzempliorius būtų apibrėžtas pirmiausia antrinės, o paskui pagrindinės klasės charakteristikomis. Norėdami tai geriau suprasti, apsvarstykite pavyzdį:
amžius"; ) ) klasė mano_Katė pratęsia Katę (vieša $amžius = 10; ) $kitty = naujas mano_katinas; $kitty->foo(); ?>
Iškviečiant $kitty->foo(), PHP interpretatorius negali rasti tokio metodo my_Cat klasėje, todėl naudojamas šio metodo įgyvendinimas, apibrėžtas Cat klasėje. Tačiau poklasis apibrėžia savo $age ypatybę, todėl kai jis pasiekiamas naudojant $kitty->foo() metodą, PHP interpretatorius suranda tą savybę my_Cat klasėje ir ją naudoja.
Kadangi argumentų tipo nurodymo temą jau aptarėme, belieka pasakyti, kad jei pagrindinė klasė yra nurodyta kaip tipas, tada visi metodo palikuonys taip pat bus prieinami, žiūrėkite šį pavyzdį:
foo (nauja mano_Katė); ?>
My_Cat klasės egzempliorių galime traktuoti taip, lyg tai būtų Cat tipo objektas, t.y. galime perduoti my_Cat tipo objektą Cat klasės foo() metodui ir viskas veiks taip, kaip tikėtasi.
pagrindinis operatorius
Praktiškai poklasiams gali tekti išplėsti pirminių klasių metodų funkcionalumą. Išplėtus funkcionalumą nepaisydami superklasių metodų, poklasiai išlaiko galimybę pirmiausia vykdyti pagrindinės klasės kodą, o tada pridėti kodą, kuris įgyvendina papildomas funkcijas. Pažiūrėkime, kaip tai galima padaryti.
Norėdami iškviesti norimą metodą iš pirminės klasės, turėsite pasiekti pačią šią klasę naudodami deskriptorių. Šiuo tikslu PHP pateikia pagrindinį raktinį žodį. Pirminis operatorius leidžia poklasiams pasiekti pagrindinės klasės metodus (ir konstruktorius) ir papildyti esamas funkcijas. Norėdami nurodyti metodą klasės kontekste, naudokite simbolius „::“ (du dvitaškius). Pirminio operatoriaus sintaksė yra:
Parent::parent_class metodas
Ši konstrukcija iškvies superklasėje apibrėžtą metodą. Po tokio skambučio galite įdėti savo programos kodą, kuris papildys naujas funkcijas:
pavadinimas = $pavadinimas; $tai->kaina = $kaina; ) ) klasė new_book pratęsia knygą (vieši $puslapiai; funkcija __construct($pavadinimas, $kaina, $puslapiai) ( // iškviečia pirminės klasės pirminio konstruktoriaus metodą::__construct($title, $kaina); // inicijuoja ypatybė apibrėžta poklasyje $this->pages = $pages ) ) $obj = new_book("ABC", 35, 500); echo „Knyga: $obj->title
Kaina: $obj->kaina
Puslapiai: $obj->puslapiai"; ?>
Kai antrinė klasė apibrėžia savo konstruktorių, PHP automatiškai neiškviečia pagrindinės klasės konstruktoriaus. Tai turi būti padaryta rankiniu būdu poklasio konstruktoriuje. Poklasis pirmiausia iškviečia savo pirminės klasės konstruktorių savo konstruktoriuje, perduodamas inicijavimui būtinus argumentus, jį vykdo, o tada vykdo kodą, kuris įgyvendina papildomas funkcijas, šiuo atveju inicijuodamas poklasio savybę.
Pirminį raktinį žodį galima naudoti ne tik konstruktoriuose, bet ir bet kuriame kitame metode, kurio funkcionalumą norite išplėsti, tai galima pasiekti iškvietus pagrindinės klasės metodą:
vardas)."; return $str; ) ) klasė mano_Katė išplečia Cat (vieša $amžius = 5; funkcija getstr() ( $str = tėvas::getstr(); $str .= "
Amžius: ($šis->amžius) metai."; grąžinti $str; ) ) $obj = new my_Cat; echo $obj->getstr(); ?>
Čia pirmiausia iškviečiamas metodas getstr() iš superklasės, kurio reikšmė priskiriama kintamajam, o po to vykdomas likęs poklasio metodu apibrėžtas kodas.
Dabar, kai apžvelgėme paveldėjimo pagrindus, pagaliau galime pažvelgti į savybių ir metodų matomumo klausimą.
viešas, apsaugotas ir privatus: prieigos kontrolė
Iki šiol visas nuosavybes aiškiai paskelbėme kaip viešas. Ir šis prieigos tipas yra nustatytas pagal numatytuosius nustatymus visiems metodams.
Klasės nariai gali būti paskelbti viešaisiais, saugomais arba privačiais. Pažvelkime į skirtumą tarp jų:
- KAM viešas(viešąsias) savybes ir metodus galima pasiekti iš bet kokio konteksto.
- KAM apsaugotas(apsaugotas) savybes ir metodus galima pasiekti iš turinčios klasės arba iš jos poklasio. Jokiam išoriniam kodui prieiga prie jų neleidžiama.
- Naudodami raktinį žodį galite padaryti klasės duomenis neprieinamus skambinimo programai privatus(uždaryta). Tokias savybes ir metodus galima pasiekti tik iš tos klasės, kurioje jie deklaruoti. Net šios klasės poklasiai neturi prieigos prie tokių duomenų.
vieša – atvira prieiga:
labas"; ) ) $obj = naujas žmogus; // prieiga iš skambinančios programos echo "$obj->age"; // Galioja $obj->say(); // Galioja?>privatus – prieiga tik iš klasės metodų:
amžius"; ) ) $obj = naujas žmogus; // nėra tiesioginės prieigos prie privačių duomenų iš skambinančios programos echo "$obj->age"; // Klaida! prieiga uždrausta! // tačiau naudojant metodą galite rodyti asmeninius duomenis $obj ->say( // Priimtina?>);apsaugota – apsaugota prieiga:
Apsaugotas modifikatorius, iškviečiančios programos požiūriu, atrodo lygiai taip pat kaip privatus: jis draudžia prieigą prie objekto duomenų iš išorės. Tačiau, skirtingai nei privatus, jis leidžia pasiekti duomenis ne tik iš savo klasės metodų, bet ir iš poklasio metodų.