Web kaynaklarında herhangi bir güvenlik açığı araması, keşif ve bilgi toplama ile başlar.
İstihbarat, aktif - sitenin dosya ve dizinlerinin kaba kuvveti, güvenlik açığı tarayıcılarını başlatma, siteyi manuel olarak görüntüleme veya pasif - farklı arama motorlarında bilgi arama olabilir. Bazen bir güvenlik açığı sitenin ilk sayfasının açılmasından önce bile bilinir.
Bu nasıl mümkün olabilir?
İnternette sürekli dolaşan arama robotları, sıradan bir kullanıcı için yararlı bilgilere ek olarak, genellikle bir web kaynağına saldırırken saldırganlar tarafından kullanılabilecekleri düzeltir. Örneğin, komut dosyası hataları ve hassas bilgiler içeren dosyalar (yapılandırma dosyalarından ve günlüklerden kimlik doğrulama verileri ve veritabanı yedekleri içeren dosyalara kadar).
Bir arama robotu açısından, bir sql sorgusu yürütme hata mesajı düz metindir, örneğin sayfadaki malların açıklamasından ayrılamaz. Bir arama robotu aniden .sql uzantılı bir dosyaya rastlarsa ve herhangi bir nedenle sitenin çalışma klasörüne düşerse, bu dosya sitenin içeriğinin bir parçası olarak algılanacak ve ayrıca dizine eklenecektir (muhtemelen, içinde belirtilen şifreler).
Bu tür bilgiler, "savunmasız sayfaları" güvenlik açıkları içermeyen sayfalardan ayırmaya yardımcı olan güçlü, genellikle benzersiz anahtar kelimeler bilinerek bulunabilir.
Exploit-db.com'da anahtar sözcükleri (sözde dorks) kullanan özel sorgulardan oluşan devasa bir veritabanı bulunur ve bu veritabanı Google Hack Veritabanı olarak bilinir.
neden google?
Dorks, iki nedenden dolayı öncelikle google'ı hedef alıyor:
− anahtar kelimeler (Tablo 1'de verilmiştir) ve özel karakterler (Tablo 2'de verilmiştir) için en esnek sözdizimi;
- google dizini diğer arama motorlarından daha eksiksizdir;
Tablo 1 - Anahtar google anahtar kelimeleri
anahtar kelime |
Anlam |
Örnek |
alan |
Yalnızca belirtilen sitede arama yapın. Yalnızca url'yi dikkate alır |
site:somesite.ru - verilen alan ve alt alan adlarındaki tüm sayfaları bulur |
inurl |
Uri'de bulunan kelimelere göre arama yapın. cl'den farklı olarak. "site" kelimeleri, site adından sonra eşleşmeleri arar |
inurl:news - verilen kelimenin uri'de geçtiği tüm sayfaları bulur |
metin |
Sayfanın gövdesinde ara |
intext:"traffic" - normal "traffic" sorgusuna tamamen benzer |
Başlık |
Sayfanın başlığında arayın. Etiketler arasındaki metin |
intitle:”index of” - dizin listesi olan tüm sayfaları bulur |
harici |
Belirtilen uzantıya sahip sayfaları arayın |
ext:pdf - tüm pdf dosyalarını bulur |
dosya tipi |
Şu anda, tamamen sınıfa benzer. "ext" kelimesi |
dosya türü:pdf - benzer |
ilişkili |
Benzer konulara sahip siteleri arayın |
ilgili:google.ru - analoglarını gösterecek |
bağlantı |
Buna bağlantı veren siteleri arayın |
link:somesite.ru - buna bağlantısı olan tüm siteleri bulur |
tanımlamak |
Kelime tanımını göster |
define:0day - terimin tanımı |
önbellek |
Önbelleğe alınmış sayfa içeriğini göster (varsa) |
cache:google.com - sayfayı önbellekten aç |
Tablo 2 - Google Sorgu Özel Karakterleri
Sembol |
Anlam |
Örnek |
“ |
Tam tabiri |
intitle:"RouterOS yönlendirici yapılandırma sayfası" - yönlendiricileri arayın |
* |
herhangi bir metin |
inurl:"bitrix*mcart" - savunmasız bir mcart modülüyle bitrix'te siteleri arayın |
. |
Herhangi bir karakter |
Index.of - sorgu dizinine benzer |
- |
kelimeyi sil |
error -warning - tüm sayfaları hatalı ama uyarısız göster |
.. |
Menzil |
cve 2006..2016 - 2006'dan başlayarak yıllara göre güvenlik açıklarını göster |
| |
Mantıksal "veya" |
linux | pencereler - birinci veya ikinci kelimenin geçtiği sayfaları göster |
Bir arama motoruna yapılan herhangi bir talebin yalnızca kelimelerle yapılan bir arama olduğu anlaşılmalıdır.
Sayfada meta karakterler (tırnaklar, parantezler, noktalama işaretleri vb.) aramak işe yaramaz. Tırnak içinde tam bir kelime öbeği aramak bile bir kelime aramasıdır, ardından sonuçlarda zaten tam bir eşleşme gelir.
Tüm Google Hack Veritabanı dork'ları mantıksal olarak 14 kategoriye ayrılmıştır ve Tablo 3'te sunulmuştur.
Tablo 3 - Google Hack Veritabanı Kategorileri
Kategori |
bulmayı ne mümkün kılar |
Örnek |
ayak izleri |
Web kabukları, genel dosya yöneticileri |
Listelenen web kabuklarını içeren tüm saldırıya uğramış siteleri bulun: (intitle:"phpshell" VEYA intitle:"c99shell" VEYA intitle:"r57shell" VEYA intitle:"PHP Shell" VEYA intitle:"phpRemoteView") `rwx` "uname" |
Kullanıcı adlarını içeren dosyalar |
Kayıt dosyaları, yapılandırma dosyaları, günlükler, girilen komutların geçmişini içeren dosyalar |
Hesap bilgilerini içeren tüm kayıt defteri dosyalarını bulun: dosya türü:reg reg +intext:"internet hesap yöneticisi" |
Hassas Dizinler |
Çeşitli bilgiler içeren dizinler (kişisel belgeler, vpn yapılandırmaları, gizli depolar vb.) |
vpn ile ilgili dosyaları içeren tüm dizin listelerini bulun: "Config" intitle:"Dizin" intext:vpn Git depoları içeren siteler: (intext:"/.git dizini") ("üst dizin") |
Web Sunucusu Algılama |
Web sunucusu hakkında sürüm ve diğer bilgiler |
JBoss sunucusunun yönetim konsollarını bulun: inurl:"/web-console/" intitle:"Yönetim Konsolu" |
Güvenlik Açığı Dosyaları |
Bilinen güvenlik açıklarını içeren komut dosyaları |
Sunucudan rastgele bir dosya yüklemenize izin veren bir komut dosyası kullanan siteleri bulun: allinurl:forcedownload.php?file= |
Savunmasız Sunucular |
Kurulum komut dosyaları, web kabukları, açık yönetim konsolları vb. |
Kök olarak çalışan açık PHPMyAdmin konsollarını bulun: intitle:phpMyAdmin "phpMyAdmin ***'e Hoş Geldiniz" "* üzerinde root@* olarak çalışıyor" |
hata mesajları |
Çeşitli hatalar ve uyarılar genellikle önemli bilgileri ortaya çıkarır - CMS sürümünden şifrelere kadar |
Veritabanına sql sorguları yürütmede hata olan siteler: "Uyarı: mysql_query()" "geçersiz sorgu" |
İlginç bilgiler içeren dosyalar |
Sertifikalar, yedeklemeler, e-postalar, günlükler, sql komut dosyaları vb. |
Başlatma sql komut dosyalarını bulun: filetype:sql ve "insert into" -site:github.com |
Şifre içeren dosyalar |
Parola içerebilen her şey - günlükler, sql komut dosyaları vb. |
Şifrelerden bahseden günlükler: dosya tipi:kayıtmetin:şifre |geçmek |pw şifreleri içeren sql komut dosyaları: dahili:sqlmetin:Kullanıcı adımetin:şifre |
Hassas Online Alışveriş Bilgileri |
Online alışveriş ile ilgili bilgiler |
Pin kodlarını bulun: dcid=bn=toplu iğnekod= |
Ağ veya güvenlik açığı verileri |
Web kaynağıyla doğrudan ilgili olmayan, ancak ağı veya diğer web dışı hizmetleri etkileyen bilgiler |
Dahili ağ hakkında bilgi içeren otomatik proxy yapılandırma komut dosyalarını bulun: inurl:proxy | inurl:wpad dahili:pac | dahili: dat findproxyforurl |
Portal içeren sayfalar |
Giriş formları içeren sayfalar |
saplogon web sayfaları: metin:"2016 SAP AG. Tüm hakları Saklıdır." intitle: "giriş" |
Çeşitli Çevrimiçi Cihazlar |
Yazıcılar, yönlendiriciler, izleme sistemleri vb. |
Yazıcı yapılandırma panelini bulun: Başlık:"hplazer jeti"inurl:SGK/Yetki/Ayarlamak_yapılandırma_cihaz bilgisi.htm |
Öneriler ve Güvenlik Açıkları |
CMS'nin güvenlik açığı bulunan sürümlerindeki siteler |
Sunucuya rastgele bir dosya yükleyebileceğiniz güvenlik açığı bulunan eklentileri bulun: inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled |
Dorklar daha çok İnternet'teki tüm sitelerde arama yapmaya odaklanır. Ancak hiçbir şey, herhangi bir site veya sitedeki arama alanını sınırlamanızı engellemez.
Google'a yapılan her istek, isteğe "site:somesite.com" anahtar kelimesi eklenerek belirli bir siteye odaklanabilir. Bu anahtar kelime herhangi bir dok'a eklenebilir.
Güvenlik Açığı Arama Otomasyonu
Bu nedenle fikir, bir arama motoru (google) kullanarak ve Google Hack Veritabanına dayalı olarak güvenlik açıklarını aramayı otomatikleştiren basit bir yardımcı program yazmak için doğdu.
Yardımcı program, phantomjs kullanılarak nodejs'de yazılmış bir komut dosyasıdır. Kesin olmak gerekirse, komut dosyası phantomjs'nin kendisi tarafından yorumlanır.
Phantomjs, js kodu ve uygun bir API ile çalıştırılan, grafik arayüzü olmayan tam teşekküllü bir web tarayıcısıdır.
Yardımcı program oldukça anlaşılır bir isim aldı - dorks. Komut satırında çalıştırarak (seçenekler olmadan), birkaç kullanım örneğiyle ilgili kısa bir yardım alırız:
Şekil 1 - Temel dork seçeneklerinin listesi
Yardımcı programın genel sözdizimi şudur: dork "komut" "seçenekler listesi".
Tüm seçeneklerin ayrıntılı bir açıklaması Tablo 4'te sunulmuştur.
Tablo 4 - Sözdizimi dorkları
Takım |
Seçenek |
Tanım |
ghdb |
-l |
Dork kategorilerinin numaralı listesini görüntüle Google Hack Veritabanı |
-c "kategori numarası veya adı" |
Belirtilen kategorideki dorkları numaraya veya ada göre indirin |
|
-q "ifade" |
İstek üzerine bulunan dorkları indirin |
|
-o "dosya" |
Sonucu dosyaya kaydet (yalnızca -c|-q seçenekleriyle) |
|
Google |
-d "doruk" |
İsteğe bağlı dork belirtin (seçenek birçok kez kullanılabilir, -D seçeneğiyle kombinasyona izin verilir) |
-D "dosya" |
Bir dosyadan dorks kullanın |
|
-s "site" |
Siteyi ayarla (seçenek birden çok kez kullanılabilir, -S seçeneğiyle kombinasyona izin verilir) |
|
-S "dosya" |
Bir dosyadan siteleri kullanın (her site için dorklar bağımsız olarak aranacaktır) |
|
-f "filtre" |
Ek anahtar kelimeler belirleyin (her dok'a eklenecektir) |
|
-t "ms sayısı" |
google istekleri arasındaki aralık |
|
-T "ms sayısı" |
Captcha ile karşılaşılırsa zaman aşımı |
|
-o "dosya" |
Sonucu bir dosyaya kaydedin (yalnızca bir şey bulunan aptallar kaydedilir) |
Ghdb komutunu kullanarak, herhangi bir istek üzerine exploit-db'den tüm dorkları alabilir veya tüm kategoriyi belirtebilirsiniz. Kategori 0'ı belirtirseniz, tüm veritabanı kaldırılacaktır (yaklaşık 4,5 bin dork).
Halihazırda mevcut olan kategorilerin listesi Şekil 2'de gösterilmektedir.
Şekil 2 - Mevcut GHDB dork kategorilerinin listesi
Google ekibi, her bir dok'u google arama motoruna yerleştirecek ve sonuçları eşleşmeler için analiz edecektir. Bir şey bulunan dorklar bir dosyaya kaydedilecek.
Yardımcı program farklı arama modlarını destekler:
1 dork ve 1 site;
1 dork ve birçok site;
1 site ve birçok salak;
birçok site ve birçok salak;
Aptalların ve sitelerin listesi hem bir argüman hem de bir dosya aracılığıyla belirtilebilir.
İşin gösterilmesi
Hata mesajlarını arama örneğini kullanarak herhangi bir güvenlik açığı aramaya çalışalım. dorks ghdb –c 7 –o error.dorks komutu, Şekil 3'te gösterildiği gibi "Hata Mesajları" kategorisinin bilinen tüm dork'larını yükleyecektir.
Şekil 3 - "Hata Mesajları" kategorisinin bilinen tüm dork'larını yükleme
Dorks yüklendi ve bir dosyaya kaydedildi. Şimdi onları bazı sitelerde "ayarlamak" kalıyor (bkz. Şekil 4).
Şekil 4 - Google önbelleğinde ilgilenilen sitenin güvenlik açıklarını arayın
Bir süre sonra, incelenen sitede hatalar içeren birkaç sayfa bulunur (bkz. Şekil 5).
Şekil 5 - Bulunan hata mesajları
Sonuç olarak, result.txt dosyasında hataya neden olan dorkların tam listesini alıyoruz.
Şekil 6, site hatalarını aramanın sonucunu gösterir.
Şekil 6 - Hata arama sonucu
Bu dork için önbellekte, komut dosyalarının mutlak yollarını, sitenin içerik yönetim sistemini ve veritabanı türünü ortaya çıkaran tam bir geri izleme görüntülenir (bkz. Şekil 7).
Şekil 7 - site yapısı hakkındaki bilgilerin açıklanması
Ancak, GHDB'den gelen tüm salakların gerçek bir sonuç vermediği akılda tutulmalıdır. Ayrıca, google tam bir eşleşme bulamayabilir ve benzer bir sonuç gösterebilir.
Bu durumda, kişisel aptal listenizi kullanmak daha akıllıca olacaktır. Örneğin, örnekleri Şekil 8'de gösterilen “olağandışı” uzantılara sahip dosyaları aramaya her zaman değer.
Şekil 8 - Normal bir web kaynağı için tipik olmayan dosya uzantılarının listesi
Sonuç olarak, dorks google -D extensions.txt -f bank komutuyla, ilk istekten itibaren google, "olağandışı" dosya uzantılarına sahip siteleri döndürmeye başlar (bkz. Şekil 9).
Şekil 9 - Bankacılık sitelerinde "kötü" dosya türlerini arayın
Google'ın 32 kelimeden uzun istekleri kabul etmediğini unutmayın.
dorks google –d intext ile:”hata|uyarı|notice|sözdizimi” –f üniversite
PHP yorumlayıcı hatalarını eğitim sitelerinde arayabilirsiniz (bkz. Şekil 10).
Şekil 10 - PHP Çalışma Zamanı Hatalarını Bulma
Bazen bir veya iki salak kategorisi kullanmak uygun değildir.
Örneğin, sitenin wordpress motorunda çalıştığını biliyorsanız, o zaman özellikle wordpress için dorklara ihtiyacınız var. Bu durumda, Google Hack Veritabanı aramasını kullanmak uygundur. dorks ghdb –q wordpress –o wordpress_dorks.txt, Şekil 11'de gösterildiği gibi tüm wordpress dork'larını indirecektir:
Şekil 11 - Wordpress ile ilgili dorkları arayın
Tekrar bankalara dönelim ve dorks google -D wordpress_dords.txt -f bank komutu ile wordpress ile ilgili ilginç bir şey bulmaya çalışacağız (bkz. Şekil 12).
Şekil 12 - Wordpress güvenlik açıklarını arama
Google Hack Veritabanı aramasının 4 karakterden kısa kelimeleri kabul etmediğini belirtmekte fayda var. Örneğin, sitenin CMS'si bilinmiyor, ancak dil biliniyorsa - PHP. Bu durumda, boruyu ve dorks sistem arama yardımcı programını –c all | findstr /I php > php_dorks.txt (bkz. Şekil 13):
Şekil 13 - PHP'den söz edilen tüm saçmalıklarda arama yapın
Bir arama motorunda güvenlik açıkları veya bazı hassas bilgiler aranırken, yalnızca bu sitede önemli bir dizin varsa aranmalıdır. Örneğin, bir sitenin dizine eklenmiş 10-15 sayfası varsa, bu şekilde bir şey aramak aptalcadır. Dizin boyutunu kontrol etmek kolaydır - google arama çubuğuna "site:somesite.com" yazmanız yeterlidir. Yetersiz dizine sahip bir site örneği Şekil 14'te gösterilmektedir.
Şekil 14 - Site dizin boyutunu kontrol etme
Şimdi hoş olmayan şeyler hakkında... Zaman zaman google bir captcha isteyebilir - yapılacak bir şey yok - girilmesi gerekecek. Örneğin, "Hata Mesajları" kategorisi (90 salak) arasında sıralama yaparken, captcha yalnızca bir kez düştü.
Phantomjs'nin hem http hem de çorap arayüzü aracılığıyla bir proxy üzerinden çalışmayı desteklediğini eklemeye değer. Proxy modunu etkinleştirmek için dorks.bat veya dorks.sh dosyasında ilgili satırın yorumunu kaldırın.
Araç kaynak kodu olarak mevcuttur
google.com'u kullanarak nasıl arama yapılır
Herkes muhtemelen Google gibi bir arama motorunun nasıl kullanılacağını biliyor =) Ama özel yapılar kullanarak doğru bir arama sorgusu oluşturursanız, aradığınız sonuca çok daha verimli ve hızlı bir şekilde ulaşacağınızı herkes bilmiyor =) Bu yazıda Bunu ve doğru arama yapmak için nasıl yapmanız gerektiğini göstermeye çalışacağım
Google, google.com'da arama yaparken özel anlamı olan birkaç gelişmiş arama operatörünü destekler. Tipik olarak, bu operatörler aramayı değiştirir ve hatta Google'a tamamen farklı türde aramalar yapmasını söyler. Örneğin, inşaat bağlantı:özel bir operatördür ve sorgu bağlantı:www.google.com size normal bir arama yapmayacak, bunun yerine google.com'a bağlantıları olan tüm web sayfalarını bulacaktır.
alternatif istek türleri
önbellek: Sorguya başka kelimeler eklerseniz, Google, önbelleğe alınan belgede dahil edilen kelimeleri vurgulayacaktır.
Örneğin, önbellek:www.web sitesiönbelleğe alınmış içeriği "web" kelimesi vurgulanmış olarak gösterecektir.
bağlantı: yukarıdaki arama sorgusu, belirtilen sorguya bağlantılar içeren web sayfalarını gösterecektir.
Örneğin: bağlantı: www.web sitesi http://www.site bağlantısı olan tüm sayfaları görüntüler
ilişkili: Belirtilen web sayfasıyla "ilgili" web sayfalarını görüntüler.
Örneğin, ilgili: www.google.com Google ana sayfasına benzer web sayfalarını listeler.
bilgi: Bilgi İste: Google'ın istenen web sayfası hakkında sahip olduğu bazı bilgileri sağlar.
Örneğin, bilgi:web sitesi forumumuzla ilgili bilgileri gösterecektir =) (Armada - Yetişkin web yöneticilerinin forumu).
Diğer bilgi talepleri
tanımlamak: define: sorgusu, bundan sonra yazdığınız kelimelerin çeşitli çevrimiçi kaynaklardan derlenmiş bir tanımını sağlayacaktır. Tanım, girilen tüm ifade için olacaktır (yani, tam sorgudaki tüm kelimeleri içerecektir).
hisse senetleri: Hisse senetleriyle bir sorgu başlatırsanız: Google, sorgu terimlerinin geri kalanını hisse senedi senedi olarak işleyecek ve bu karakterler için hazırlanmış bilgileri gösteren bir sayfaya bağlantı verecektir.
Örneğin, hisse senetleri: intel yahoo Intel ve Yahoo hakkında bilgi gösterecektir. (Şirket adını değil, son dakika haberlerini yazdırmanız gerektiğini unutmayın)
İstek Değiştiriciler
alan: Sorgunuza site: eklerseniz, Google sonuçları o etki alanında bulduğu web siteleriyle sınırlar.
Ayrıca ru, org, com vb. gibi bireysel bölgeleri de arayabilirsiniz ( site:com site:ru)
allintitle: allintitle: ile bir sorgu çalıştırırsanız, Google sonuçları başlıktaki tüm sorgu sözcükleri ile sınırlandırır.
Örneğin, allintitle: google arama resimler, Blog vb. tüm Google arama sayfalarını döndürür
Başlık: Sorgunuza intitle: eklerseniz, Google, sonuçları başlığında o kelimeyi içeren belgelerle kısıtlar.
Örneğin, başlık:İş
allinurl: allinurl ile bir sorgu çalıştırırsanız: Google, sonuçları URL'deki tüm sorgu sözcükleri ile sınırlandırır.
Örneğin, allinurl: google arama google ile belgeleri döndürecek ve başlıkta arayacaktır. Ayrıca, bir seçenek olarak, kelimeleri bölü (/) ile ayırabilirsiniz, böylece eğik çizginin her iki tarafındaki kelimeler aynı sayfa içinde aranacaktır: Örnek allinurl: foo/bar
inurl: Sorgunuza inurl: eklerseniz, Google sonuçları URL'de o kelimeyi içeren belgelerle sınırlar.
Örneğin, Animasyon inurl:web sitesi
metin: sadece sayfanın metninde belirtilen kelimeyi arar, bağlantıların başlığını ve metinlerini ve ilgili olmayan diğer şeyleri görmezden gelir.Bu değiştiricinin bir türevi de vardır - tüm metin:şunlar. ayrıca, sorgudaki tüm kelimeler sadece metin içinde aranacaktır, bu da önemli olan, bağlantılarda sık kullanılan kelimelerin göz ardı edilmesidir.
Örneğin, metin:forum
tarih aralığı: zaman dilimlerinde arama yapar (tarih aralığı:2452389-2452389), tarihler Jülyen biçiminde belirtilir.
Peki, ve her türlü ilginç istek örneği
Google için sorgu derleme örnekleri. spam gönderenler için
inurl:control.guest?a=işaret
Site:books.dreambook.com "Ana sayfa URL'si" "Sign my" inurl:sign
Site:www.freegb.net Ana Sayfa
Inurl:sign.asp "Karakter Sayısı"
"Mesaj:" inurl:sign.cfm "Gönderen:"
inurl:register.php “Kullanıcı Kaydı” “Web Sitesi”
Inurl:edu/misafir defteri “Ziyaretçi Defterini İmzala”
Inurl: "Yorum Gönder" "URL" gönder
Inurl:/archives/ “Yorumlar:” “Bilgiyi hatırlıyor musunuz?”
“Script ve Ziyaretçi Defteri Oluşturan:” “URL:” “Yorumlar:”
inurl:?action=“phpBook” “URL” ekle
Intitle:"Yeni Hikaye Gönder"
dergiler
inurl:www.livejournal.com/users/mode=reply
inurl greatjournal.com/mode=reply
Inurl:fastbb.ru/re.pl?
inurl:fastbb.ru /re.pl? "misafir defteri"
Bloglar
Inurl:blogger.com/comment.g?”postID”"anonim"
Inurl:typepad.com/ “Yorum gönder” “Kişisel bilgileri hatırlıyor musun?”
Inurl:greatestjournal.com/community/ “Yorum gönder” “anonim posterlerin adresleri”
“Yorum gönder” “anonim posterlerin adresleri” -
Intitle:"Yorum yayınla"
Inurl:pirillo.com “Yorum gönder”
Forumlar
Inurl:gate.html?”name=Forumlar” “mod=yanıtla”
inurl:”forum/posting.php?mode=reply”
inurl:”mes.php?”
inurl:”üyeler.html”
inurl:forum/üye listesi.php?”
Ve böylece arkadaşlar, küçük bir devam etmeye karar verdim. Böyle bir geri bildirim beklemiyordum, gerçekten yeni başlayanlar için faydalı olacağını umuyorum ...
Bu sefer size salakların ne olmaması gerektiğini anlatmaya çalışacağım. Çünkü sık sık salak gibi görünen müşterilerle çalışmak zorunda kalırsınız. Ve biraz konuştuktan sonra bu salakların da parasını ödedikleri ortaya çıktı. Genel olarak çıldırıyor) Ben kendim, kendi aptallığımdan, hem 300 ruble hem de 20 ruble için Dorks satın aldım. Ama iyi olacak salaklar yapacak ve arama motoru onlardan ihtiyacım olanı verecek yetkin bir kişiyle henüz tanışmadım. Kimseyi gücendirmeye çalışmamak ve sonra sadece kişisel bir görüş.
İlk olarak, satın almadan önce, her zaman kontrol etmek için 10-15 yol isteyin, sadece görsel olarak değerlendirin. Umuyorum ki bu rehberden sonra isteğiniz için az çok keskinleşmiş salakları halktan bile denilemeyecek olanlardan ayırt edebileceksiniz.
Gitmek!
Örneklerle çalışmak benim için daha kolay, bu yüzden bazen karşılaştığım "oyun" yollarının bir listesini yazmaya çalışacağım ve size ne arayacağınızı söyleyeceğim:
Mistake.php?gta_5= çerçeve
Dork'u parçalara ayırıyoruz:
hata.php- burada, bu kelimenin bağlantıda bulunması gerektiği varsayılmaktadır. Aslında, biraz farklı. Linkte bir kelimenin bulunması için operatöre uygulanması gerekir. inurl: veya allinurl:
Bu kelimeyle bazı bağlantılara rastladığımızı varsayalım. Ancak, sayfanın başlığına atıfta bulunması gereken bu kısımdır (aptalca değerlendirilir). Hangi kodlayıcının oyun sitesinde error.php sayfasını yapacağını bilmiyorum.
Elbette olacak. Ama çok küçük bir yüzde olacak. Bana gelince, sayfa aşağı yukarı php kodlayıcıları tarafından kullanılan popüler bir isimle olmalı.
Aptallarda arzu edilmeyen birkaç sayfa daha (genellikle aptalların satıcıları rastgele kelimeler kullanır):
Gta5.php - hiç kimse farcry_primal.php farcry_primal.cfm sayfasını aramayacak - .cfm uzantısı ASP.NET'te kullanılıyor, evet, yazılır, ancak php'deki kadar sık değil. Ve bu isimle bir sayfaya girmek büyük bir başarıdır kramble.php how_to_work.php catch "in.php - özel karakterler jzooo.php sayfa adında olmamalıdır - genel olarak, bu sayfanın ne olduğunu anlayın game_of_trone .php - nadir bir sayfa , + oyunlara atıfta bulunmaz, ancak büyük olasılıkla filmin başlığına atıfta bulunur
Umarım yaklaşık mantığı anlamışsınızdır. Sayfanın mantıklı bir başlığı olmalı, ana şey bu. Başlığın oyun temasıyla ilgili olup olmaması gerçekten önemli değil. Hangi sayfalar çoğunlukla kodlayıcılar tarafından kullanılır ve genel olarak dorklarda kullanılabilecek daha popüler olanlar:
Index.php private.php pm.php user.php elements.php area.php config.php search.php yönlendirme.php r.php (aynı yönlendirme) s.php (aynı arama) mail.php forum.php gönderisi .php account.php exit.php query.php q.php (aynı sorgu) vb.
Aşağı yukarı böyle. Dork'taki sayfanın adı (varsa) tek heceli olmalı, sitede kullanıma uygun olmalı ve bir tür mantıksal çağrışım taşımalıdır. gibi isimlere sahip olmamamız korkutucu değil. steam.php veya steam_keys.php veya rulet.php, daha fazla bağlantı bulmamız bizim için önemlidir. Ve bir sorgu kelimesi web sitelerinde ne kadar sık kullanılırsa o kadar iyidir. Konuyla ilgili bizim için aşağı yukarı gerekli, geri kalanının yardımıyla seçeceğiz.
Sayfa adlarını bulduk, ancak bu en önemli şey değil. İkinci kısma geçelim.
Bu GET isteğini karşılayın:
?GTA 5- Hemen söylemeliyim ki böyle bir talep yok. (unutmayın bu benim şahsi görüşüm)
İdeal olarak istediğimiz GET isteği, veritabanına gitmeli ve bir SQL enjeksiyonu durumunda, bir veritabanı getirme hatasına neden olmalıdır. İhtiyacımız olan budur. Ancak, çağrılacak bir sorgu bulmak için GTA 5 Tekrar, bol şans. Ve onu bulursak, onu savunmasız bırakmalıyız. Bu, ilgilendiğimiz bağlantıların çoğunu yine atar.
İyi değil, kötü isteklere birkaç örnek daha:
Groove= ?paypal= ?qiwi_wallet= ?my_money= ?dai_webmoney= ?skdoooze= ?sadlkjadlkjswq= ?213123= ?777=
Paypal neden kötü bir istek? Çünkü bu istek ile paypal seçimi ile veri tabanına erişmek istediğimiz varsayılmaktadır. Paypal veritabanını belki de şirketin kendisi dışında kimse tutmaz. Yine hile yapıyorum.
Kısa, kullanışlı, hatırlaması kolay ve en azından biraz mantıklı oldukları için herkesin kullanmayı sevdiği iyi sorgulara örnekler:
Id= ?cat= ?cat_id= ?get= ?post= ?frame= ?r= ?redirect= (fikri siz anladınız) ?banner= ?go= ?leave= ?login= ?pass= ?password= ?username= ? user= ?search= ?s= ?wallet= ?acc= ?balance= ?do= ?page= ?page_id= ?topic= ?forum= ?thread= ?download= ?free= ?message=
Elbette süresiz olarak devam edebilirsiniz. Ancak bunlar, karışık işler, oyun, nakit para ve diğer her şeye mükemmel şekilde uyan evrensel isteklerdir. Forumlar, torrent siteleri ve diğer her şeyle karşılaşacağız.
Örneğin, oyun sorguları için işe yarayabilecek birkaç sorgu diyelim:
Game= ?game_id= ?battle= ?log= ?team= ?weapon= ?inv= (envanter) ?gamedata= ?player= ?players= ?play= (video sitelerine rastladım) ?playtag= ?match=
İdeal olarak, yaklaşık olarak aynı sorgulama mantığı diğer konulara da uygulanmalıdır. En azından İngilizceyi biraz anlamanız ve hangi aptalları satın aldığınızı anlamanız gerekiyor. Genel olarak, 10-20 kapıya bakmak yeterlidir ve ne tür bir mega özel satın aldığınız ve gelecekte bu satıcıyla iletişim kurmaya değer olup olmadığı hemen anlaşılacaktır. Ya da genel olarak, siyah üzerinden para iadesi yapmak için, dorklarınızın sex.php içerdiğini görürseniz? veya? photo= ve dükkanlar için dorks sipariş ettiniz. Böyle rakamlara trenin altında eller
Ve nihayet, dork'un en önemli kısmı (bazen tamamen yok). GET isteğinin adını (isteğin kendisini değil) az önce düşündüysek, şimdi tam olarak ihtiyacımız olanı bulmamıza yardımcı olabilecek isteğe geçiyoruz.
Test salağımızdan, bu kısım- çerçeve
Bunun kötü bir istek olduğunu söylemeyeceğim ama oyun siteleri aradığımız için böyle bir isteğin etkinliği %15-20 civarında. Yolların bir karışımı için veya sadece bağlantı sayısı için (sadece bir şeyi birleştirmek için), yapacaktır.
İsteğin adı, birçok dok öğreticisinin ve el kitabının doğru bir şekilde söylediği gibi, konumuzla ilgili herhangi bir kelimeyi içerebilir. Oyun isteklerinden sapmayacağız, bu yüzden oyunlar için iyi, uygun isteklerden bir örnek vereceğim:
Oyun oyun deneyimi oyuncu seviyesindeki oyuncular dota counter-strike AWP | Aziimov M19 NAVI bedava bedava oyunlar oyna oyun indir oyun oyun forumu oyun hakkında Ekran görüntüsü oyun oyun rehberi
Yollarınızın temasının ne olduğu açık olmalıdır. Satın alınan dork'larda aşağıdakine benzer bir şey varsa (ve biz oyun olanları aldık):
İzle Freedom text dsadaswe 213123321 ledy gaga fuck amerika bla bla kız göğüsleri free XXX porn futurama s01e13
Sonra tekrar satıcının nafiklerini göndermekten çekinmeyin ve salaklarınızı atın. oyun sitelerini göremiyorsun :)
Bir şey daha, operatörleri bu sorgularla kullanabilirsiniz - intitle: , allintitle: , intext: , allintext:
İki nokta üst üste işaretinden sonra, oyun isteğinin kendisi listeden biraz daha yüksek olacaksa ( intitle: oyun, allintext: bedava oyna)
Anlatmak istediğim her şey bu gibi görünüyor. Temel olarak, makalenin en azından bir şekilde yeni başlayanlar için faydalı olacağını umuyorum (benim için faydalı olacak ve birkaç yüz ruble biriktirmeye yardımcı olacak ve vicdansız yol satıcılarını yerlerine koymaya yardımcı olacak). Eh, az ya da çok nasıl kendin yapman gerektiğini anladıysan, sadece mutlu olacağım.
Tren, gözünü / elini doldur, salaklarda özellikle karmaşık bir şey yok.
Ve son olarak, damperde nasıl olduğunu bilmiyorum, ancak a-parser sakince yiyor ve Rusça isteklerle birçok bağlantı arıyor. Neden olmasın, diye düşündüm. Test edildi, etkisi beni memnun etti. gülebilirsin))
Frame.php?name= ücretsiz oyunlar get.php?query= cs indir search.php?ok= oyun sunucuları
[İlk makalem] -Kalıtım, mevcut (ana) bir sınıfa dayalı olarak yeni bir sınıfı tanımlamanıza izin veren nesne yönelimli bir programlama mekanizmasıdır.
Bir başkasından türetilen sınıfa alt sınıf denir. Bu ilişki genellikle "ebeveyn" ve "çocuk" terimleri kullanılarak tanımlanır. Alt sınıf, ebeveynden türetilir ve özelliklerini devralır: özellikler ve yöntemler. Tipik olarak, bir alt sınıf, üst sınıfın (üst sınıf olarak da adlandırılır) işlevselliğine yeni işlevsellik ekler.
Bir alt sınıf oluşturmak için, sınıf bildiriminde extensions anahtar sözcüğünü ve ardından miras almak istediğiniz sınıfın adını kullanmalısınız:
yaş = $yaş; ) function add_age () ( $this->age++; ) ) // devralınan bir sınıf sınıfını ilan et my_Cat Cat'i genişletir ( // kendi alt sınıf yöntemimizi tanımla function sleep() ( echo "
Zzzzz..."; ) ) $kitty = new my_Cat(10); // miras alınan yöntemi çağırın $kitty->add_age(); // miras alınan özelliğin değerini okuyun echo $kitty->age; // call kendi alt sınıf yöntemi $ kitty->sleep(); ?>
Bir alt sınıf, public türünde olduklarından, üst sınıfın tüm yöntemlerine ve özelliklerine erişimi devralır. Bu, my_Cat sınıfının örnekleri için, cat sınıfında tanımlanmalarına bakılmaksızın add_age() yöntemini çağırabilir ve $age özelliğine erişebiliriz anlamına gelir. Ayrıca yukarıdaki örnekte, alt sınıfın kendi kurucusu yoktur. Alt sınıf kendi kurucusunu bildirmezse, alt sınıfın örneklerini oluştururken üst sınıf kurucusu otomatik olarak çağrılır.
Alt sınıfların özellikleri ve yöntemleri geçersiz kılabileceğini unutmayın. Bir alt sınıf tanımlayarak, örneğinin önce alt sınıfın, sonra da üst sınıfın özelliklerine göre belirlenmesini sağlıyoruz. Bunu daha iyi anlamak için bir örnek düşünün:
age"; ) ) class my_Cat, Cat'i genişletir ( public $age = 10; ) $kitty = new my_Cat; $kitty->foo(); ?>
$kitty->foo() çağrıldığında, PHP yorumlayıcısı my_Cat sınıfında böyle bir yöntem bulamaz, bu nedenle Cat sınıfında verilen bu yöntemin uygulaması kullanılır. Ancak, alt sınıf kendi $age özelliğini tanımlar, bu nedenle $kitty->foo() yönteminde erişildiğinde, PHP yorumlayıcısı bu özelliği my_Cat sınıfında bulur ve kullanır.
Argümanların türünü belirleme konusunu zaten ele aldığımızdan, ana sınıf tür olarak belirtilirse, yöntemin tüm alt öğelerinin de kullanılabilir olacağı söylenmelidir, aşağıdaki örneğe bakın:
foo(yeni benim_Cat); ?>
my_Cat sınıfının bir örneğini, Cat türünde bir nesneymiş gibi ele alabiliriz, yani. my_Cat türünde bir nesneyi Cat sınıfının foo() yöntemine iletebiliriz ve her şey olması gerektiği gibi çalışacaktır.
ebeveyn beyanı
Pratikte, alt sınıfların üst sınıf yöntemlerinin işlevselliğini genişletmesi gerekebilir. Üst sınıf yöntemlerini geçersiz kılarak işlevselliği genişleterek, alt sınıflar önce üst sınıfın kodunu yürütme ve ardından ek işlevsellik uygulayan kod ekleme yeteneğini korur. Bunun nasıl yapılabileceğini görelim.
Üst sınıftan istenen yöntemi çağırmak için, tanımlayıcı aracılığıyla bu sınıfın kendisine başvurmanız gerekir. PHP, bu amaç için ana anahtar sözcüğü sağlar. Ebeveyn ifadesi, alt sınıfların üst sınıfın yöntemlerine (ve yapıcılarına) erişmesine ve mevcut işlevlerine ekleme yapmasına izin verir. Bir sınıf bağlamında bir yönteme atıfta bulunmak için " :: " (iki iki nokta üst üste) sembolleri kullanılır. Üst deyim sözdizimi:
Parent::parent_class yöntemi
Bu yapı, üst sınıfta tanımlanan yöntemi çağıracaktır. Böyle bir çağrının ardından, yeni işlevler katacak kendi program kodunuzu yerleştirebilirsiniz:
başlık = $başlık; $bu->fiyat = $fiyat; ) sınıf yeni_kitap kitabı genişletir ( public $pages; function __construct($title, $fiyat, $pages) ( // üst sınıfın yapıcı yöntemini çağırın parent::__construct($title, $price); // $this->pages = $pages; ) alt sınıfında tanımlanan özellik ) $obj = new new_book("abc", 35, 500); echo "Kitap: $obj->title
Fiyat: $nesne->fiyat
Sayfalar: $obj->sayfalar"; ?>
Bir alt sınıf kendi kurucusunu tanımladığında, PHP ana sınıf kurucusunu otomatik olarak çağırmaz. Bu, alt sınıf yapıcısında manuel olarak yapılmalıdır. Alt sınıf ilk önce kendi yapıcısında üst sınıfının yapıcısını çağırır, başlatma için gerekli argümanları iletir, onu yürütür ve ardından ek işlevsellik uygulayan kod yürütülür, bu durumda alt sınıfın özelliği başlatılır.
parent anahtar sözcüğü yalnızca yapıcılarda değil, işlevselliğini genişletmek istediğiniz diğer herhangi bir yöntemde de kullanılabilir, bunu üst sınıf yöntemini çağırarak başarabilirsiniz:
name).."; return $str; ) ) class my_Cat, Cat'i genişletir ( public $age = 5; function getstr() ( $str = parent::getstr(); $str .= "
Yaş: ($this->age) yıl."; return $str; ) ) $obj = new my_Cat; echo $obj->getstr(); ?>
Burada, önce değeri değişkene atanan üst sınıftan getstr() yöntemi çağrılır ve ardından alt sınıf yönteminde tanımlanan kodun geri kalanı yürütülür.
Artık kalıtımın temellerini ele aldığımıza göre, nihayet özelliklerin ve yöntemlerin görünürlüğüne bakabiliriz.
genel, korumalı ve özel: erişim kontrolü
Bu noktaya kadar, tüm mülkleri açıkça public (public) olarak ilan ettik. Ve bu tür erişim, tüm yöntemler için varsayılan olarak ayarlanmıştır.
Sınıf üyeleri genel (genel), korumalı (korumalı) ve özel (kapalı) olarak bildirilebilir. Aralarındaki farka bakalım:
- İle halka açık(genel) özelliklere ve yöntemlere herhangi bir bağlamdan erişilebilir.
- İle korumalı(korumalı) özelliklere ve yöntemlere, ya içeren sınıftan ya da onun bir alt sınıfından erişilebilir. Hiçbir harici kodun bunlara erişmesine izin verilmez.
- Anahtar kelime ile sınıf verilerini çağıran programa erişilemez hale getirebilirsiniz. özel(kapalı). Bu tür özelliklere ve yöntemlere yalnızca bildirildikleri sınıf içinden erişilebilir. Bu sınıfın alt sınıflarının bile bu tür verilere erişimi yoktur.
genel - genel erişim:
merhaba"; ) ) $nesne = yeni insan; // arayandan erişim echo "$obj->age"; // Geçerli $nesne->say(); // Geçerli?>özel - yalnızca sınıf yöntemlerinden erişim:
age"; ) ) $nesne = yeni insan; // arayandan doğrudan özel verilere erişim yok echo "$obj->age"; // Hata! erişim reddedildi! // ancak, özel veriler $nesne kullanılarak çıkarılabilir yöntem ->say(); // Geçerli mi?>korumalı - korumalı erişim:
Korumalı değiştirici, çağıran programın bakış açısından özel değiştiriciye tam olarak benziyor: nesnenin verilerine dışarıdan erişimi yasaklıyor. Ancak özelden farklı olarak, yalnızca sınıfının yöntemlerinden değil, aynı zamanda bir alt sınıfın yöntemlerinden de verilere erişmenizi sağlar.
Altın Numaralar Güzel bir telefon numarası nasıl satılır
Kripto para madenciliği: basit kelimelerle nedir
En iyi dizüstü bilgisayar işletim sistemi: Eksiksiz inceleme
Sınıf arkadaşlarından müzik indirmek için programlar Sosyal ağ sınıf arkadaşlarından üzücü bir şarkı indirin
Yandex tarayıcısının mobil versiyonu