Aș dori să postez un mic memento pentru a ajuta programatorii PHP începători. Ce și cum să faci pentru a învăța php și pentru a începe să câștigi bani din meseria ta. Dacă cititorii doresc să-și dea sfatul, vă rugăm să comentați.
* Să începem cu o teză utilă - poți învăța php fără a cheltui absolut niciun ban. Toate materialele necesare pe PHP se găsesc pe internet, toate răspunsurile la întrebări se găsesc pe forumuri... nu e nevoie să mergi la cursuri, nu e nevoie să cumperi cărți (în general, cărțile merită cumpărate dacă ești prea lene să caute materiale pe internet), nu este nevoie să cheltuiești bani.
* Inventează biciclete. Scrieți întotdeauna codul singur - acest lucru vă va ajuta în viitor. Dacă aveți nevoie de o carte de oaspeți, scrieți-o, nu folosiți opțiuni gata făcute, chiar dacă vă uitați și înțelegeți codul acesteia, aceasta nu va înlocui programarea în sine, găsirea erorilor, depanarea, rezolvarea problemelor legate de scriere. Mai târziu, când devii profesionist, poți și chiar ar trebui să folosești cod de la terți, dar în etapa de învățare, acest lucru vă va face un deserviciu. Puteți folosi exemple și folosi codul altcuiva ca o modalitate de a rezolva o problemă sau de a găsi algoritmul potrivit.
* Creați „pagini de pornire”. Acest antrenament bun. Crearea și dezvoltarea „ pagina principala” vă va forța să vă îmbunătățiți în mod constant abilitățile, să căutați modalități de îmbunătățire a site-ului și să concurați cu alți proprietari de „pagini de pornire”.
* Alăturați-vă la grupuri. Încercați să creați un proiect nu singur, ci în echipă cu alți programatori. Lucrul mai bine într-o echipă, înțelegerea codului altor oameni și comunicarea corectă cu echipa te va ajuta să găsești Buna treaba. Multe companii stabilesc una dintre principalele cerințe pentru angajare - să poată lucra în echipă.
* Nu abandona proiectul pe jumătate. Încercați întotdeauna să finalizați un proiect pe care îl începeți. Chiar dacă nevoia ei a dispărut. Cu cât ai mai multe proiecte finalizate, cu atât mai mare este lista de lucrări pe care le poți scrie pe CV-ul tău. Dar lucrurile finite și terminate sunt cele pe care angajatorul se uită la început.
* Acceptați o muncă „penny”. Dacă istoricul tău nu este bogat, nu ar trebui să refuzi un loc de muncă prost plătit. Permiteți-mi să vă dau un exemplu din viață: când tocmai am început să programez pentru bani, m-am dus să lucrez într-un joc online. În general, mi-au oferit un ban - 2.000 pe lună. Dar l-am luat și, pe măsură ce lucram, am studiat din ce în ce mai mult caracteristicile programării web. După șapte luni, salariul meu era de 10.000 de ruble. Și pur și simplu nu pot număra câtă experiență am câștigat.
* Creați proiecte mari. A avea proiecte mari în palmaresul tău este un mare plus pentru tine.
* Nu stați târziu la serviciu dacă nu sunteți interesat. Dacă munca ta s-a transformat într-o rutină și nu aduce nimic nou, nicio cunoaștere - renunță la ea. Acesta este un drum spre nicăieri. Agățați-vă întotdeauna doar de proiecte interesante.
* Crește-ți cunoștințele „generale”. Nu ar trebui să vă concentrați doar pe php; acum angajatorii solicită un programator nu numai pentru a crea cod, ci și pentru a fi mai priceput la aranjarea paginilor, configurarea unui server, crearea documentației, lucrul cu javascript și multe altele. În general, acum nimeni nu are nevoie doar de programatori web, ci de web masters.
* Învățați noi tehnologii. Noile tehnologii precum Ajax vor fi întotdeauna atuul tău. Ele produc un efect magic asupra angajatorului.
Poate e suficient pentru azi. Mai sunt multe sfaturi, dar le voi da în alte postări dacă va fi cerere :)
Articole similare
Cu siguranță, ați văzut această funcție pe multe site-uri interesante: „On-Line: 56 de persoane”? Și, desigur, ați vrut să faceți ceva similar, dar nu ați avut suficiente cunoștințe sau circumvoluții în materia cenușie? Apoi, special pentru tine, vă ofer un articol în care vă explic în detaliu.
Bine: „Câștigați bani din propriul serviciu prin buletine informative prin e-mail» . Scurgerea unui bazin închis pentru 33 de mii de ruble. Există diferite recenzii la depozit. Pe baza recenziilor, cursul nu este potrivit pentru toată lumea, ci doar pentru cei care au întâlnit deja cursuri sau mailing-uri similare. A trimis materialul utilizator anonimcu comentariu: « Epuizez acest curs pentru că am fost interzis din depozit fără motiv. Referitor la curs, voi spune un lucru că este potrivit pentru mailing-uri mici. Începătorii nu vor înțelege nimic, dar îl pot urmări pentru a se familiariza. Recenziile sunt diferite, m-am abținut să comentez. Dacă vrei să înveți cum să trimiți scrisori în masă, mergi la Shelest, el te va ajuta. Am studiat cu el și am cumpărat acest curs doar pentru dezvoltare generală. Sper sa fie de folos cuiva.» Materialul poate fi eliminat la cererea deținătorului drepturilor de autor! Evaluăm
Descrierea cursului:
Curs unic al autorului de lecții video Tehnologie pornire rapidăîn buletine informative prin e-mail - Cum să trimiteți e-mailuri în volume mari către clienți „potențiali”. Odată cu apariția tendinței de dezvoltare a afacerilor prin Internet și creșterea constantă a numărului de utilizatori activi de Internet, au început să apară diverse cursuri de formare, atât pentru începători, cât și pentru utilizatori avansați. Acest curs este destinat tuturor celor care sunt interesați de cum să obțină trafic și vânzări în mod eficient fără a cheltui sume uriașe de bani pe el. Cel mai eficient și convenabil instrument pentru vânzările online este promovarea serviciilor și produselor folosind E-mail(marketing prin e-mail).
Pentru a organiza marketingul prin e-mail profesional, și nu doar corespondența în masă, este necesar să se dezvolte o abordare sistematică, să colecteze o bază de abonați, să automatizeze acest proces pentru a crește profiturile stabile, să genereze statistici și alte sarcini care sunt dificil de finalizat fără ajutor profesional. În acest curs, ca tehnologie de pornire rapidă pentru buletinele informative prin e-mail, se propune trimiterea de scrisori prin servere VDS.De ce să plătiți mulți bani pentru serviciile de corespondență dacă le puteți configura singur? Și aveți ocazia să trimiteți oricui, orice în volume mari de scrisori clienților dvs. Acest curs vă va ajuta să configurați un server VDS pentru a trimite automat e-mailuri și pentru a crea e-mail marketing profesional, în timp ce orice utilizator îl poate configura prin simpla repetare instrucțiuni pas cu pas din cursul video al autorului. Cele mai bune practici pentru instrumente interesante! Frumusețea SET este că este scris în Python și nu necesită module Python terțe care ar trebui instalate suplimentar. Lucrul se desfășoară printr-un meniu interactiv, unde trebuie doar să selectați elementele dorite pentru aplicație La fiecare pas, meniul este însoțit de buna descriere sub-elementele propuse, astfel încât chiar și un copil se poate descurca (aici devine puțin înfricoșător) Dar în unele situații este pur și simplu necesar să reglați setul de instrumente în sine, iar pentru aceasta va trebui să vă referiți la fișierul de setări.
Ce vei învăța de la curs:
- Configurarea vds pentru campanii de e-mail
- Cum să ocoliți filtrele de spam. Motivele pentru care scrisorile ajung în spam
- Cum să uniciți ușor și rapid e-mailurile
- Cum să colectezi 100% lucrător și viu adrese de e-mail și nu doar adrese, ci e-mailuri
- adresele publicului țintă
- Cum să lucrezi cu SMTP și cum să crești servere SMTP
- Obțineți tot software-ul de care aveți nevoie
- Cum să faci bani trimițând scrisori, cu ce programe de afiliere să lucrezi
- Generarea unui șablon și apoi încărcarea acestuia pe serverul(e) VDS
- Extrage e-mail, scanează inurl (readme.txt)
- Crearea bazelor de date - curățarea, defalcarea, eliminarea e-mailurilor duplicate
Orice căutare de vulnerabilități pe resursele web începe cu recunoaștere și colectare de informații.
Inteligența poate fi fie activă - forța brută a fișierelor și directoarelor site-ului, rularea de scanere de vulnerabilități, navigarea manuală pe site, fie pasivă - căutarea de informații în diferite motoare de căutare. Uneori se întâmplă ca o vulnerabilitate să devină cunoscută chiar înainte de a deschide prima pagină a site-ului.
Cum este posibil acest lucru?
Roboții de căutare, care roaming constant pe internet, pe lângă informațiile utile utilizatorului obișnuit, înregistrează adesea lucruri care pot fi folosite de atacatori pentru a ataca o resursă web. De exemplu, erori de script și fișiere cu informații sensibile (de la fișierele de configurare și jurnalele la fișierele cu date de autentificare și copii de siguranță ale bazei de date).
Din punctul de vedere al unui robot de căutare, un mesaj de eroare despre executarea unei interogări SQL este text simplu, inseparabil, de exemplu, de descrierea produselor din pagina. Dacă dintr-o dată un robot de căutare a dat peste un fișier cu extensia .sql, care din anumite motive a ajuns în folder de lucru site-ului, atunci acesta va fi perceput ca parte a conținutului site-ului și va fi, de asemenea, indexat (inclusiv, eventual, parolele specificate în acesta).
Informații similare pot fi găsite cunoscând stabil, adesea unic, Cuvinte cheie, care ajută la separarea „paginilor vulnerabile” de paginile care nu conțin vulnerabilități.
O bază de date uriașă de interogări speciale care utilizează cuvinte cheie (așa-numitele dorks) există pe exploit-db.com și este cunoscută sub numele de Google Hack Database.
De ce google?
Dorks sunt vizați în primul rând către Google din două motive:
− cea mai flexibilă sintaxă a cuvintelor cheie (prezentată în Tabelul 1) și a caracterelor speciale (prezentată în Tabelul 2);
− indexul Google este încă mai complet decât cel al altor motoare de căutare;
Tabelul 1 - Principalele cuvinte cheie Google
Cuvânt cheie |
Sens |
Exemplu |
site-ul |
Cauta doar pe site-ul specificat. Ia în considerare doar adresa URL |
site:somesite.ru - va găsi toate paginile de pe un anumit domeniu și subdomenii |
inurl |
Căutați după cuvinte prezente în uri. Spre deosebire de cl. cuvintele „site”, caută potriviri după numele site-ului |
inurl:news - găsește toate paginile în care cuvântul dat apare în uri |
în text |
Căutați în corpul paginii |
intext:”blocuri în trafic” - complet similar cu cererea obișnuită pentru „blocuri în trafic” |
intitulat |
Căutați în titlul paginii. Text între etichete |
intitle:”index of” - va găsi toate paginile cu liste de directoare |
ext |
Căutați pagini cu o extensie specificată |
ext:pdf - găsește toate fișierele pdf |
tip fișier |
În prezent, complet similar cu clasa. cuvântul „ext” |
tip de fișier:pdf - similar |
legate de |
Căutați site-uri cu subiecte similare |
related:google.ru - își va afișa analogii |
legătură |
Căutați site-uri care leagă la aceasta |
link:somesite.ru - va găsi toate site-urile care au un link către aceasta |
defini |
Afișați definiția cuvântului |
define:0day - definiția termenului |
cache |
Afișați conținutul paginii în cache (dacă este prezent) |
cache:google.com - va deschide o pagină în cache |
Masa 2 - Simboluri speciale interogări Google
Simbol |
Sens |
Exemplu |
“ |
Fraza exacta |
intitle:„Pagina de configurare a routerului RouterOS” - căutați routere |
* |
Orice text |
inurl: „bitrix*mcart” - căutați site-uri pe bitrix cu un modul mcart vulnerabil |
. |
Orice personaj |
Index.of - similar cu indexul cererii |
- |
Ștergeți un cuvânt |
error -warning - arată toate paginile care au o eroare, dar nici un avertisment |
.. |
Gamă |
cve 2006..2016 - arată vulnerabilitățile pe an, începând din 2006 |
| |
„sau” logic |
linux | ferestre - arată paginile în care apare primul sau al doilea cuvânt |
Merită să înțelegeți că orice cerere să motor de căutare- Aceasta este doar o căutare de cuvinte.
Este inutil să cauți meta-caractere pe pagină (ghilimele, paranteze, semne de punctuație etc.). Chiar și căutare prin fraza exacta, indicat între ghilimele, este o căutare de cuvinte urmată de o căutare potrivire perfecta deja în rezultate.
Toți Google Hack Database dorks sunt împărțiți în mod logic în 14 categorii și sunt prezentate în Tabelul 3.
Tabelul 3 – Categoriile bazei de date Google Hack
Categorie |
Ceea ce vă permite să găsiți |
Exemplu |
Prize pentru picioare |
shell-uri web, manageri de fișiere publice |
Găsiți toate site-urile piratate unde sunt încărcate webshell-urile enumerate: (intitle:"phpshell" SAU intitle:"c99shell" SAU intitle:"r57shell" SAU intitle:"PHP Shell" SAU intitle:"phpRemoteView") `rwx` "uname" |
Fișiere care conțin nume de utilizator |
fișiere de registru, fișierele de configurare, jurnalele, fișierele care conțin istoricul comenzilor introduse |
Găsiți toate fișierele de registry care conțin informații despre cont: tip de fișier: reg reg + intext: „manager cont de internet” |
Directoare sensibile |
Directoare cu diverse informații (documente personale, configurații vpn, depozite ascunse etc.) |
Găsiți toate listele de directoare care conțin fișiere legate de VPN: "Config" intitle:"Index de" intext:vpn Site-uri care conțin depozite git: (intext:"index of /.git") ("directorul părinte") |
Detectare server web |
Versiune și alte informații despre serverul web |
Găsiți console administrative ale serverului JBoss: inurl:"/web-console/" intitle:"Consola de administrare" |
Fișiere vulnerabile |
Scripturi care conțin vulnerabilități cunoscute |
Găsiți site-uri care utilizează un script care vă permite să încărcați un fișier arbitrar de pe server: allinurl:forcedownload.php?file= |
Servere vulnerabile |
Scripturi de instalare, shell-uri web, console administrative deschise etc. |
Găsiți console PHPMyAdmin deschise care rulează ca root: intitle:phpMyAdmin „Bine ați venit la phpMyAdmin ***” „rulează pe * ca root@*” |
Mesaje de eroare |
Diferite erori și avertismente sunt adesea revelatoare Informații importante- de la versiunea CMS la parole |
Site-uri care au erori în executarea interogărilor SQL în baza de date: „Avertisment: mysql_query()” „interogare nevalidă” |
Fișiere care conțin informații suculente |
Certificate, copii de rezervă, e-mailuri, jurnale, scripturi SQL etc. |
Găsiți scripturi sql de inițializare: filetype:sql și „inserat into” -site:github.com |
Fișiere care conțin parole |
Orice poate conține parole - jurnale, scripturi sql etc. |
Jurnalele care menționează parole: tip fișier:Buturugaîn text:parola |trece |pw scripturi sql care conțin parole: ext:sqlîn text:nume de utilizatorîn text:parola |
Informații sensibile privind cumpărăturile online |
Informații legate de achizițiile online |
Găsiți coduri pin: dcid=bn=pincod= |
Date de rețea sau vulnerabilitate |
Informații care nu au legătură directă cu resursa web, dar care afectează rețeaua sau alte servicii non-web |
Găsiți scripturi setări automate proxy care conțin informații despre rețeaua internă: inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl |
Pagini care conțin portaluri de conectare |
Pagini care conțin formulare de conectare |
pagini web saplogon: intext:"2016 SAP AG. Toate drepturile rezervate." intitle:"Logare" |
Diverse dispozitive online |
Imprimante, routere, sisteme de monitorizare etc. |
Găsiți panoul de configurare a imprimantei: intitle:"hplaserjet"inurl:SSI/Auth/a stabilit_config_deviceinfo.htm |
Sfaturi și vulnerabilități |
Site-uri web pe versiuni CMS vulnerabile |
Găsiți pluginuri vulnerabile prin care puteți încărca un fișier arbitrar pe server: inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled |
Dorks se concentrează mai des pe căutarea pe toate site-urile de internet. Dar nimic nu vă împiedică să limitați domeniul de căutare pe orice site sau site-uri.
Fiecare interogare Google poate fi concentrată pe un anumit site, adăugând cuvântul cheie „site:somesite.com” la interogare. Acest cuvânt cheie poate fi adăugat la orice dork.
Automatizarea căutării vulnerabilităților
Așa s-a născut ideea de a scrie un simplu utilitar care automatizează căutarea vulnerabilităților folosind un motor de căutare (google) și se bazează pe baza de date Google Hack.
Utilitarul este un script scris în nodejs folosind phantomjs. Pentru a fi precis, scenariul este interpretat chiar de phantomjs.
Phantomjs este un browser web cu drepturi depline, fără GUI, controlat de cod js și cu un API convenabil.
Utilitarul a primit un nume destul de ușor de înțeles - nebuni. Lansându-l în Linie de comanda(fără opțiuni) primim un scurt ajutor cu câteva exemple de utilizare:
Figura 1 - Lista principalelor opțiuni dorks
Sintaxa generală a utilitarului este: dork „comandă” „listă de opțiuni”.
O descriere detaliată a tuturor opțiunilor este prezentată în Tabelul 4.
Tabelul 4 - Sintaxa Dorks
Echipă |
Opțiune |
Descriere |
ghdb |
-l |
Tipăriți o listă numerotată de categorii de dork baza de date Google Hack |
-c „număr sau nume de categorie” |
Încărcați ușile din categoria specificată după număr sau nume |
|
-q „frază” |
Descărcați dorks găsiți la cerere |
|
-o "fișier" |
Salvați rezultatul într-un fișier (numai cu opțiunile -c|-q) |
|
Google |
-d "protu" |
Setați un dork arbitrar (opțiunea poate fi folosită de mai multe ori, combinația cu opțiunea -D este permisă) |
-D "dosar" |
Folosește dorks din fișier |
|
-s „site” |
Setați site-ul (opțiunea poate fi folosită de mai multe ori, combinația cu opțiunea -S este permisă) |
|
-S „fișier” |
Utilizați site-uri dintr-un fișier (dorks vor fi căutați pentru fiecare site în mod independent) |
|
-f "filtru" |
Setați cuvinte cheie suplimentare (vor fi adăugate la fiecare dork) |
|
-t „număr de ms” |
Interval între solicitările către Google |
|
-T „număr de ms” |
Timeout dacă se întâlnește un captcha |
|
-o "fișier" |
Salvați rezultatul într-un fișier (vor fi salvate doar acele piese pentru care a fost găsit ceva) |
Folosind comanda ghdb, puteți obține toate dork-urile de la exploit-db la cerere arbitrară sau puteți specifica întreaga categorie. Dacă specificați categoria 0, întreaga bază de date va fi descărcată (aproximativ 4,5 mii de dorks).
Lista categoriilor disponibile pe acest moment prezentate în figura 2.
Figura 2 - Lista categoriilor disponibile GHDB dork
Comanda google va înlocui fiecare dork în motor de căutare Google iar rezultatul a fost analizat pentru meciuri. Căile în care a fost găsit ceva vor fi salvate într-un fișier.
Utilitarul suportă moduri diferite căutare:
1 nebun și 1 site;
1 nebun și multe site-uri;
1 site si multi nebuni;
multe site-uri și mulți idioți;
Lista de dorks și site-uri poate fi specificată fie printr-un argument, fie printr-un fișier.
Demonstrație de muncă
Să încercăm să căutăm orice vulnerabilități folosind exemplul căutării mesajelor de eroare. Prin comandă: dorks ghdb –c 7 –o errors.dorks toate dorks cunoscute din categoria „Mesaje de eroare” vor fi încărcate așa cum se arată în Figura 3.
Figura 3 – Încărcarea tuturor dork-urilor cunoscute din categoria „Mesaje de eroare”.
Dorks sunt descărcate și salvate într-un fișier. Acum tot ce rămâne este să le „setezi” pe un anumit site (vezi Figura 4).
Figura 4 – Căutare vulnerabilități ale site-ului de interes în memoria cache Google
După ceva timp, pe site-ul studiat sunt descoperite mai multe pagini care conțin erori (vezi Figura 5).
Figura 5 – Mesaje de eroare găsite
Rezultatul, în fișierul result.txt obținem lista plina nebunii care duc la o eroare.
Figura 6 arată rezultatul căutării erorilor de site.
Figura 6 – Rezultatul căutării erorilor
În memoria cache pentru acest dork, este afișată un backtrace complet, care dezvăluie căile absolute ale scripturilor, sistemul de management al conținutului site-ului și tipul bazei de date (vezi Figura 7).
Figura 7 – dezvăluirea informațiilor despre designul site-ului
Cu toate acestea, merită luat în considerare faptul că nu toți idioții de la GHDB dau rezultate adevărate. De asemenea, este posibil ca Google să nu găsească o potrivire exactă și să nu arate un rezultat similar.
În acest caz, este mai înțelept să folosiți lista personală de proști. De exemplu, merită întotdeauna să căutați fișiere cu extensii „neobișnuite”, dintre care exemple sunt prezentate în Figura 8.
Figura 8 – Lista extensiilor de fișiere care nu sunt tipice pentru o resursă web obișnuită
Drept urmare, cu comanda dorks google –D extensions.txt –f bank, de la prima solicitare Google începe să returneze site-uri cu extensii de fișiere „neobișnuite” (vezi Figura 9).
Figura 9 – Căutați tipuri de fișiere „proaste” pe site-urile bancare
Merită să rețineți că Google nu acceptă interogări mai lungi de 32 de cuvinte.
Folosind comanda dorks google –d intext:”eroare|warning|notice|syntax” –f university
Puteți căuta erori de interpret PHP pe site-urile web educaționale (vezi Figura 10).
Figura 10 – Găsirea erorilor de rulare PHP
Uneori nu este convenabil să folosiți una sau două categorii de idioți.
De exemplu, dacă se știe că site-ul rulează pe motorul Wordpress, atunci avem nevoie de module specifice WordPress. În acest caz, este convenabil să utilizați căutarea în baza de date Google Hack. Comanda dorks ghdb –q wordpress –o wordpress_dorks.txt va descărca toate dorks din Wordpress, așa cum se arată în Figura 11:
Figura 11 – Căutare Dorks legate de Wordpress
Să ne întoarcem din nou la bănci și să folosim comanda dorks google –D wordpress_dords.txt –f bank pentru a încerca să găsim ceva interesant legat de Wordpress (vezi Figura 12).
Figura 12 – Căutați vulnerabilități Wordpress
Este de remarcat faptul că căutarea pe baza de date Google Hack nu acceptă cuvinte mai scurte de 4 caractere. De exemplu, dacă CMS-ul site-ului nu este cunoscut, dar limbajul este cunoscut - PHP. În acest caz, puteți filtra manual ceea ce aveți nevoie folosind pipe-ul și utilitarul de căutare a sistemului dorks –c all | findstr /I php > php_dorks.txt (vezi Figura 13):
Figura 13 – Căutați toate dorks unde este menționat PHP
Căutarea unor vulnerabilități sau a unor informații sensibile într-un motor de căutare ar trebui făcută numai dacă există un index semnificativ pe acest site. De exemplu, dacă un site are 10-15 pagini indexate, atunci este o prostie să cauți ceva în acest fel. Verificarea dimensiunii indexului este ușoară - trebuie doar să introduceți în linie cautare Google„site:somesite.com”. Un exemplu de site cu un index insuficient este prezentat în Figura 14.
Figura 14 – Verificarea dimensiunii indexului site-ului
Acum despre neplăcut... Din când în când Google poate solicita un captcha - nu poți face nimic în privința asta - va trebui să îl introduci. De exemplu, la căutarea prin categoria „Mesaje de eroare” (90 de idioți), captcha a apărut o singură dată.
Merită să adăugați că phantomjs acceptă și lucrul printr-un proxy, atât prin interfața http, cât și prin intermediul șosetelor. Pentru a activa modul proxy, trebuie să decomentați linia corespunzătoare din dorks.bat sau dorks.sh.
Instrumentul este disponibil ca cod sursă