Želio bih postaviti mali podsjetnik da pomognem početnicima PHP programerima. Šta i kako učiniti da naučite php i počnete zarađivati od svog zanata. Ako čitatelji žele dati svoj savjet, molimo vas da komentarišu.
* Počnimo s jednom korisnom tezom - možete naučiti php bez trošenja apsolutno nikakvog novca. Svi potrebni materijali o PHP-u se mogu naći na Internetu, svi odgovori na pitanja mogu se naći na forumima... nema potrebe da pohađate kurseve, nema potrebe da kupujete knjige (uopšteno, knjige se isplati kupiti ako ste previše lijeni tražiti materijal na internetu), nema potrebe za trošenjem novca.
* Izmislite bicikle. Uvijek sami pišite kod - to će vam pomoći u budućnosti. Ako vam treba knjiga gostiju, napišite je, nemojte koristiti gotove opcije, čak i ako vidite i razumijete njen kod, to neće zamijeniti samo programiranje, pronalaženje grešaka, otklanjanje grešaka, rješavanje problema vezanih za pisanje. Kasnije, kada postanete profesionalac, možete i čak trebate koristiti kod treće strane, ali u fazi učenja to će vam učiniti medvjeđu uslugu. Možete koristiti primjere i koristiti tuđi kod kao način da riješite problem ili pronađete pravi algoritam.
* Kreirajte “početne stranice”. Ovo dobar trening. Kreiranje i razvoj vašeg “ početna stranica” će vas natjerati da stalno usavršavate svoje vještine, tražite načine za poboljšanje web stranice i takmičite se s drugim vlasnicima “početnih stranica”.
* Pridružite se grupama. Pokušajte da kreirate projekat ne sami, već u saradnji sa drugim programerima. Bolji rad u timu, razumijevanje koda drugih ljudi i ispravna komunikacija s timom pomoći će vam da pronađete dobar posao. Mnoge kompanije postavljaju jedan od glavnih uslova za zapošljavanje – da budu sposobni da rade u timu.
* Ne napuštajte projekat na pola puta. Uvek pokušajte da završite projekat koji ste započeli. Čak i ako je potreba za tim nestala. Što više završenih projekata imate, to je veća lista radova koju možete napisati u svoj životopis. Ali poslodavac prvo gleda na gotove i gotove stvari.
* Preuzmi “peni” posao. Ako vaša evidencija nije bogata, ne biste trebali odbiti slabo plaćen posao. Dozvolite mi da vam dam primjer iz života: kada sam tek počeo da programiram za novac, otišao sam da radim u online igrici. Generalno, nudili su mi peni - 2.000 mesečno. Ali uzeo sam to i, dok sam radio, sve više sam proučavao karakteristike web programiranja. Posle sedam meseci moja plata je bila 10.000 rubalja. I jednostavno ne mogu da izbrojim koliko sam iskustva stekao.
* Kreirajte velike projekte. Imati velike projekte u dosadašnjem radu je veliki plus za vas.
* Nemojte kasniti na posao ako niste zainteresovani. Ako vam se posao pretvorio u rutinu i ne donosi ništa novo, nikakvo znanje - napustite ga. Ovo je put u nigdje. Uvijek se držite samo zanimljivih projekata.
* Povećajte svoje „opšte“ znanje. Ne biste se trebali fokusirati samo na PHP, sada poslodavci zahtijevaju od programera ne samo da kreira kod, već i da bude vještiji u postavljanju stranica, postavljanju servera, kreiranju dokumentacije, radu sa javascriptom i još mnogo toga. Uglavnom, sada nikome nisu potrebni samo web programeri, već web majstori.
* Naučite nove tehnologije. Nove tehnologije kao što je Ajax uvijek će biti vaš adut. Oni proizvode magični efekat na poslodavca.
Možda je to dovoljno za danas. Ima još puno savjeta, ali dat ću ih u drugim objavama ako bude potražnje :)
Povezani članci
Sigurno ste vidjeli ovu funkciju na mnogim cool stranicama: “On-Line: 56 ljudi”? I naravno, željeli ste da uradite nešto slično, ali niste imali dovoljno znanja ili zavoja u sivoj materiji? Zatim, posebno za vas, nudim članak u kojem detaljno objašnjavam.
pa: “Zaradite novac na vlastitom servisu e-mail bilteni» . Isušivanje zatvorenog bazena za 33 hiljade rubalja. U skladištu postoje različite recenzije. Na osnovu recenzija, kurs nije pogodan za sve, već samo za one koji su se već susreli sa sličnim kursevima ili mailovima. Poslao materijal anonimni korisniksa komentarom: « Ispraznim ovaj kurs jer mi je zabranjen ulazak u skladište bez razloga. Što se tiče kursa, reći ću jednu stvar da je pogodan za male pošiljke. Početnici neće ništa razumjeti, ali mogu to pogledati da bi se upoznali. Recenzije su različite, suzdržao sam se od komentara. Ako želite da naučite kako da masovno šaljete pisma, idite u Shelest, on će vam pomoći. Učio sam s njim i kupio sam ovaj kurs samo za opći razvoj. Nadam se da će nekome biti od koristi.» Materijal se može ukloniti na zahtjev nosioca autorskih prava! Mi procenjujemo
Opis kursa:
Jedinstveni autorski kurs video lekcija Tehnologija brzi početak u biltenima e-pošte - Kako slati e-poštu u velikim količinama "potencijalnim" klijentima. Pojavom trenda razvoja poslovanja putem interneta i stalnim povećanjem broja aktivnih korisnika interneta, počeli su se pojavljivati različiti kursevi obuke, kako za početnike tako i za napredne korisnike. Ovaj kurs je namenjen svima koji su zainteresovani kako da efikasno dođu do prometa i prodaje, a da na to ne troše ogromne količine novca email(e-mail marketing).
Za organizaciju profesionalnog e-mail marketinga, a ne samo masovnog slanja pošte, potrebno je razviti sistematski pristup, prikupiti pretplatničku bazu, automatizirati ovaj proces za povećanje stabilnog profita, generirati statistiku i druge zadatke koje je teško obaviti bez stručne pomoći. U ovom kursu, kao tehnologija za brzi početak za e-mail biltene, predlaže se slanje pisama putem VDS servera. Zašto plaćati mnogo novca za mailing usluge ako to možete sami podesiti? I dobijte priliku da svojim klijentima pošaljete bilo koga, bilo šta u velikim količinama pisama. Ovaj kurs će vam pomoći da postavite VDS server za automatsko slanje poštom pisma i kreirajte profesionalni e-mail marketing, dok ga svaki korisnik može konfigurirati jednostavnim ponavljanjem upute korak po korak sa autorovog video kursa. Najbolji alati iz prakse! Ljepota SET-a je u tome što je napisan na Pythonu i ne zahtijeva nikakve Python module treće strane koji bi morali biti dodatno instalirani Rad se odvija kroz interaktivni meni, gdje je potrebno samo odabrati željene stavke za aplikaciju . Na svakom koraku, meni je popraćen dobar opis predložene podstavke, tako da se čak i dijete može nositi s tim (tu postaje malo zastrašujuće) Ali u nekim situacijama jednostavno je potrebno podesiti sam set alata, a za to ćete morati pogledati datoteku postavki.
Šta ćete naučiti iz kursa:
- Postavljanje vds-a za email kampanje
- Kako zaobići filtere za neželjenu poštu Razlozi zašto pisma završavaju u neželjenoj pošti
- Kako jednostavno i brzo unikatizirati emailove
- Kako prikupiti 100% radni i živi email adrese i ne samo adrese, već i e-mailove
- adrese vaše ciljne publike
- Kako raditi sa SMTP-om i kako podići SMTP servere
- Nabavite sav softver koji vam je potreban
- Kako zaraditi novac slanjem pisama, sa kojim partnerskim programima raditi
- Generiranje predloška i zatim ga učitavanje na VDS server(e)
- Ekstrahujte email, skenirajte inurl (readme.txt)
- Kreiranje baza podataka - čišćenje, razbijanje, uklanjanje duplikata e-pošte
Svako traženje ranjivosti na web resursima počinje izviđanjem i prikupljanjem informacija.
Inteligencija može biti ili aktivna – gruba sila datoteka i direktorija na stranici, pokretanje skenera ranjivosti, ručno pregledavanje stranice ili pasivna – traženje informacija u različitim pretraživačima. Ponekad se desi da ranjivost postane poznata i prije otvaranja prve stranice stranice.
Kako je to moguće?
Roboti za pretraživanje, koji neprestano lutaju internetom, pored informacija korisnih prosječnom korisniku, često bilježe stvari koje napadači mogu iskoristiti za napad na web resurs. Na primjer, greške skripte i datoteke s osjetljivim informacijama (od konfiguracijskih datoteka i dnevnika do datoteka s podacima za autentifikaciju i sigurnosne kopije baze podataka).
Sa stanovišta robota za pretraživanje, poruka o grešci u izvršavanju sql upita je običan tekst, neodvojivi, na primjer, od opisa proizvoda na stranici. Ako bi robot za pretraživanje iznenada naišao na fajl sa ekstenzijom .sql, koji je iz nekog razloga završio u radni folder web-mjesta, tada će se smatrati dijelom sadržaja stranice i također će biti indeksirana (uključujući, eventualno, lozinke navedene u njemu).
Slične informacije se mogu pronaći poznavanjem stabilnih, često jedinstvenih, ključne riječi, koji pomažu da se odvoje „ranjive stranice“ od stranica koje ne sadrže ranjivosti.
Ogromna baza podataka specijalnih upita koji koriste ključne riječi (tzv. dorks) postoji na exploit-db.com i poznata je kao Google Hack Database.
Zašto google?
Dorks su prvenstveno ciljani na Google iz dva razloga:
− najfleksibilnija sintaksa ključnih riječi (prikazano u tabeli 1) i specijalnih znakova (prikazano u tabeli 2);
− Google indeks je i dalje potpuniji od indeksa drugih pretraživača;
Tabela 1 - Glavne Google ključne riječi
Ključna riječ |
Značenje |
Primjer |
site |
Pretražujte samo na navedenom sajtu. Uzima u obzir samo url |
site:somesite.ru - pronaći će sve stranice na datoj domeni i poddomenama |
inurl |
Pretraživanje po riječima prisutnim u uri. Za razliku od cl. riječi “site”, traži podudaranja nakon naziva stranice |
inurl:news - pronalazi sve stranice na kojima se navedena riječ pojavljuje u uri |
intext |
Pretražite u tijelu stranice |
intext:”prometne gužve” - potpuno slično uobičajenom zahtjevu za “prometne gužve” |
naslov |
Pretražite u naslovu stranice. Tekst između oznaka |
intitle:”indeks of” - će pronaći sve stranice sa listama direktorija |
lok |
Potražite stranice sa određenim ekstenzijom |
ext:pdf - pronalazi sve pdf datoteke |
filetype |
Trenutno potpuno sličan klasi. riječ "ext" |
filetype:pdf - slično |
povezane |
Potražite stranice sa sličnim temama |
povezano:google.ru - pokazat će njegove analoge |
link |
Potražite stranice koje povezuju na ovo |
link:somesite.ru - pronaći će sve stranice koje imaju link na ovo |
definisati |
Prikaži definiciju riječi |
define:0day - definicija pojma |
cache |
Prikaži sadržaj stranice u kešu (ako postoji) |
cache:google.com - otvorit će keširanu stranicu |
Tabela 2 – Posebni znakovi google upiti
Simbol |
Značenje |
Primjer |
“ |
Tačna fraza |
intitle:“stranica za konfiguraciju rutera RouterOS” - traži rutere |
* |
Bilo koji tekst |
inurl: “bitrix*mcart” - traži web lokacije na bitrix-u sa ranjivim mcart modulom |
. |
Bilo koji lik |
Index.of - slično indeksu zahtjeva |
- |
Izbrišite riječ |
error -warning - prikaži sve stranice koje imaju grešku, ali bez upozorenja |
.. |
Domet |
cve 2006..2016 - prikaži ranjivosti po godinama počevši od 2006. |
| |
Logično "ili" |
linux | prozori - prikazuju stranice na kojima se pojavljuje prva ili druga riječ |
Vrijedi razumjeti da svaki zahtjev pretraživač- Ovo je samo pretraga riječi.
Beskorisno je tražiti meta znakove na stranici (navodnike, zagrade, znakove interpunkcije, itd.). Čak i pretraživanje po tacna fraza, označeno pod navodnicima, je pretraga riječi nakon koje slijedi pretraga tačno podudaranje već u rezultatima.
Svi dorkovi Google Hack Database logično su podijeljeni u 14 kategorija i predstavljeni su u tabeli 3.
Tabela 3 – Kategorije baze podataka Google Hack
Kategorija |
Šta vam omogućava da pronađete |
Primjer |
Uporišta |
Web ljuske, javni upravitelji datoteka |
Pronađite sve hakirane stranice na koje su postavljene navedene web školjke: (intitle:"phpshell" OR intitle:"c99shell" OR intitle:"r57shell" OR intitle:"PHP Shell" OR intitle:"phpRemoteView") `rwx` "uname" |
Fajlovi koji sadrže korisnička imena |
Registracijski fajlovi, konfiguracijske datoteke, logove, fajlove koji sadrže istoriju unetih komandi |
Pronađite sve datoteke registra koje sadrže informacije o računu: filetype:reg reg +intext:“internet account manager” |
Osjetljivi direktoriji |
Direktoriji sa raznim informacijama (lični dokumenti, vpn konfiguracije, skrivena spremišta, itd.) |
Pronađite sve liste direktorija koje sadrže datoteke povezane s VPN-om: "Config" intitle:"Index of" intext:vpn Stranice koje sadrže git repozitorije: (intext:"indeks /.git") ("roditeljski direktorij") |
Detekcija web servera |
Verzija i druge informacije o web serveru |
Pronađite administrativne konzole JBoss servera: inurl:"/web-console/" intitle:"Administratorska konzola" |
Ranjive datoteke |
Skripte koje sadrže poznate ranjivosti |
Pronađite web stranice koje koriste skriptu koja vam omogućava da učitate proizvoljni fajl sa servera: allinurl:forcedownload.php?file= |
Ranjivi serveri |
Instalacijske skripte, web ljuske, otvorene administrativne konzole, itd. |
Pronađite otvorene PHPMyAdmin konzole koje rade kao root: intitle:phpMyAdmin "Dobro došli u phpMyAdmin ***" "pokreće se na * kao root@*" |
Poruke o grešci |
Razne greške i upozorenja često otkrivaju važne informacije- od CMS verzije do lozinki |
Web lokacije koje imaju greške u izvršavanju SQL upita bazi podataka: "Upozorenje: mysql_query()" "nevažeći upit" |
Fajlovi koji sadrže sočne informacije |
Certifikati, sigurnosne kopije, e-poruke, dnevnici, SQL skripte, itd. |
Pronađite inicijalizacijske sql skripte: filetype:sql i “insert into” -site:github.com |
Fajlovi koji sadrže lozinke |
Sve što može sadržavati lozinke - logove, sql skripte, itd. |
Dnevnici u kojima se spominju lozinke: vrsta datoteke:logtekst:lozinka |pass |pw sql skripte koje sadrže lozinke: ekst:sqltekst:korisničko imetekst:lozinka |
Osjetljive informacije o online kupovini |
Informacije vezane za kupovinu putem interneta |
Pronađite PIN kodove: dcid=bn=pincode= |
Podaci o mreži ili ranjivosti |
Informacije koje se ne odnose direktno na web resurs, ali utiču na mrežu ili druge ne-web usluge |
Pronađite skripte automatske postavke proksiji koji sadrže informacije o internoj mreži: inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl |
Stranice koje sadrže portale za prijavu |
Stranice koje sadrže formulare za prijavu |
saplogon web stranice: intext:"2016 SAP AG. Sva prava zadržana." naslov: "Prijava" |
Razni uređaji na mreži |
Štampači, ruteri, sistemi za nadzor itd. |
Pronađite panel za konfiguraciju štampača: naslov:"hplaserjet"inurl:SSI/Auth/set_config_deviceinfo.htm |
Savjeti i ranjivosti |
Web stranice na ranjivim verzijama CMS-a |
Pronađite ranjive dodatke preko kojih možete učitati proizvoljni fajl na server: inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled |
Dorks su češće fokusirani na pretraživanje na svim internet stranicama. Ali ništa vas ne sprječava da ograničite opseg pretraživanja na bilo kojoj stranici ili web-lokacijama.
Svaki Google upit može se fokusirati na određenu stranicu dodavanjem ključne riječi “site:somesite.com” upitu. Ova ključna riječ se može dodati bilo kojoj glupači.
Automatizacija pretrage ranjivosti
Tako se rodila ideja da se napiše jednostavan uslužni program koji automatizira pretragu ranjivosti pomoću tražilice (google) i oslanja se na Google Hack Database.
Uslužni program je skripta napisana u nodejs koristeći phantomjs. Da budemo precizni, skriptu tumači sam phantomjs.
Phantomjs je punopravni web pretraživač bez GUI-a, kontroliran js kodom i sa praktičnim API-jem.
Uslužni program je dobio potpuno razumljivo ime - dorks. Pokretanjem komandna linija(bez opcija) dobijamo kratku pomoć s nekoliko primjera korištenja:
Slika 1 - Lista glavnih dork opcija
Opšta sintaksa uslužnog programa je: dork “komanda” “lista opcija”.
Detaljan opis svih opcija prikazan je u tabeli 4.
Tabela 4 - Dorks sintaksa
Tim |
Opcija |
Opis |
ghdb |
-l |
Odštampajte numerisanu listu dork kategorija Google Hack Database |
-c “broj kategorije ili naziv” |
Utovarna vrata navedene kategorije po broju ili nazivu |
|
-q "fraza" |
Preuzmite dorkove pronađene na zahtjev |
|
-o "fajl" |
Sačuvajte rezultat u datoteku (samo sa opcijama -c|-q) |
|
google |
-d "budala" |
Postavite proizvoljan dork (opcija se može koristiti više puta, kombinacija sa opcijom -D je dozvoljena) |
-D "fajl" |
Koristite dorks iz fajla |
|
-s "stranica" |
Postavite lokaciju (opcija se može koristiti više puta, kombinacija sa opcijom -S je dozvoljena) |
|
-S "fajl" |
Koristite web lokacije iz datoteke (dokovi će se pretraživati za svaku stranicu zasebno) |
|
-f "filter" |
Postavite dodatne ključne riječi (biće dodane svakom dork-u) |
|
-t "broj ms" |
Interval između zahtjeva za google |
|
-T "broj ms" |
Isteklo je ako se naiđe na captcha |
|
-o "fajl" |
Sačuvajte rezultat u datoteku (sačuvaće se samo one staze za koje je nešto pronađeno) |
Koristeći naredbu ghdb, možete dobiti sve dorkove iz exploit-db proizvoljnim zahtjevom ili specificirati cijelu kategoriju. Ako navedete kategoriju 0, cijela baza podataka će se isprazniti (oko 4,5 hiljada dork-a).
Lista kategorija dostupnih na trenutno prikazano na slici 2.
Slika 2 - Lista dostupnih GHDB kategorija dork
google komanda će zamijeniti svakog glupana Google pretraživač a rezultat je analiziran za utakmice. Staze na kojima je nešto pronađeno biće sačuvane u fajlu.
Uslužni program podržava različiti načini rada traži:
1 dork i 1 lokacija;
1 dork i mnogo lokacija;
1 lokacija i mnogo glupana;
mnogo sajtova i mnogo glupana;
Lista dork-ova i lokacija može se specificirati ili kroz argument ili kroz datoteku.
Demonstracija rada
Pokušajmo potražiti bilo kakve ranjivosti koristeći primjer pretraživanja poruka o grešci. Po komandi: dorks ghdb –c 7 –o errors.dorks svi poznati dork-ovi kategorije “Poruke o greškama” će biti učitani kao što je prikazano na slici 3.
Slika 3 – Učitavanje svih poznatih dork-a kategorije “Poruke o grešci”.
Dorkovi se preuzimaju i spremaju u datoteku. Sada ostaje samo da ih “postavimo” na nekoj lokaciji (vidi sliku 4).
Slika 4 – Pretraga ranjivosti stranice od interesa u Google kešu
Nakon nekog vremena, nekoliko stranica koje sadrže greške su otkrivene na lokaciji koja se proučava (vidi sliku 5).
Slika 5 – Pronađene poruke o grešci
Rezultat, u datoteci result.txt dobijamo puna lista gluposti koje dovode do greške.
Slika 6 prikazuje rezultat pretraživanja grešaka na sajtu.
Slika 6 – Rezultat pretrage greške
Keš memorija za ovu glupaču prikazuje kompletno praćenje unazad, otkrivajući apsolutne putanje skripti, sistem za upravljanje sadržajem sajta i tip baze podataka (vidi sliku 7).
Slika 7 – otkrivanje informacija o dizajnu sajta
Međutim, vrijedi uzeti u obzir da svi kreteni iz GHDB-a ne daju prave rezultate. Također, Google možda neće pronaći tačno podudaranje i pokazati sličan rezultat.
U ovom slučaju, pametnije je koristiti svoju ličnu listu glupana. Na primjer, uvijek je vrijedno tražiti datoteke s "neobičnim" ekstenzijama, čiji su primjeri prikazani na slici 8.
Slika 8 – Lista ekstenzija datoteka koje nisu tipične za običan web resurs
Kao rezultat toga, korištenje naredbe dorks google –D extensions.txt –f banka, od prve google upit počinje vraćati stranice sa „neobičnim“ ekstenzijama datoteka (pogledajte sliku 9).
Slika 9 – Potražite "loše" tipove datoteka na bankarskim web stranicama
Vrijedi imati na umu da Google ne prihvata upite duže od 32 riječi.
Korišćenje naredbe dorks google –d intext:”greška|upozorenje|obaveštenje|sintaksa” –f univerzitet
Možete potražiti greške PHP interpretatora na obrazovnim web stranicama (pogledajte sliku 10).
Slika 10 – Pronalaženje PHP runtime grešaka
Ponekad nije zgodno koristiti jednu ili dvije kategorije dork.
Na primjer, ako je poznato da stranica radi na Wordpress engine-u, onda su nam potrebni moduli specifični za WordPress. U ovom slučaju, zgodno je koristiti pretragu Google Hack Database. Komanda dorks ghdb –q wordpress –o wordpress_dorks.txt će preuzeti sve dorks sa Wordpress-a, kao što je prikazano na slici 11:
Slika 11 – Potražite Dorkove koji se odnose na Wordpress
Vratimo se ponovo na banke i upotrijebimo naredbu dorks google –D wordpress_dords.txt –f bank da pokušamo pronaći nešto zanimljivo vezano za Wordpress (vidi sliku 12).
Slika 12 – Potraga za Wordpress ranjivostima
Vrijedi napomenuti da pretraga na Google Hack Database ne prihvata riječi kraće od 4 karaktera. Na primjer, ako nije poznat CMS sajta, ali je poznat jezik - PHP. U ovom slučaju, možete ručno filtrirati ono što vam je potrebno pomoću cijevi i uslužnog programa za pretraživanje sistema dorks –c all | findstr /I php > php_dorks.txt (pogledajte sliku 13):
Slika 13 – Pretražite sve dorkove u kojima se spominje PHP
Pretraživanje ranjivosti ili nekih osjetljivih informacija u pretraživaču treba raditi samo ako postoji značajan indeks na ovoj stranici. Na primjer, ako stranica ima 10-15 indeksiranih stranica, onda je glupo tražiti bilo što na ovaj način. Provjera veličine indeksa je jednostavna - samo unesite u red google pretraga"site:somesite.com". Primjer stranice sa nedovoljnim indeksom prikazan je na slici 14.
Slika 14 – Provjera veličine indeksa stranice
Sada o neugodnom... S vremena na vrijeme Google može zatražiti captcha - ne možete ništa učiniti u vezi s tim - morat ćete je unijeti. Na primjer, prilikom pretraživanja kategorije “Poruke o grešci” (90 dorks), captcha se pojavila samo jednom.
Vrijedi dodati da phantomjs također podržava rad kroz proxy, kako preko http i socks interfejsa. Da biste omogućili proxy način rada, morate dekomentirati odgovarajući red u dorks.bat ili dorks.sh.
Alat je dostupan kao izvorni kod