Merhabalar TürkHackTeam ailesi, bugün sizlere "Python'da Sosyal Medya Hesaplarını Bulalım!" isimli bir konuyu anlatacağım. Konu da bir araç yapacağız birlikte bu araç sayesinde bir kullanıcı adı gireceğiz ve araç bizim için sosyal medyada bu kullanıcı adında bir kullanıcı var mı diye tarayacak bizlere. Hadi başlayalım...
Öncelikle bazı modülleri eklememiz gerek bunlar;
Burada requests modülünü ekledik çünkü siteye bir istek yollayacağız ve bize 200 kodunu döndürürse bu kullanıcı adında bir hesap olduğunu anlayacağız. Threading modülü sayesinde ise aynı anda birden fazla işlem yapacağız.
Bunu Hacknology hocanın anlatımı ile göstermek istiyorum.
Yani biz istekleri göndereceğiz fakat tek tek yaparsak baya bir uzun sürecek onun yerine verdiğimiz bütün sitelere aynı anda istek yollaması. from threading import Thread bunun sayesinde de Thread fonksiyonunu kullanacağız. from requests import get kodun sayesinde de sayesinde siteye get fonksiyonu ile istek yollayacağız. import time
modülü ile programı bekleteceğiz ve import os modülü ile de aldığımız 200 dönütlerini bir .txt dosyasının içine yazacağız.
Fonksiyon yazarak yapacağız ilk olarak Facebook üzerinden yapalım.
ile fonksiyonu tanımladık ve içerisine username değerini atadık. Kullanıcıdan aldığımız kullanıcı adı bilgisini kullanacağız çünkü. Ardından
komutlarını yazdık. Burada link değişkeni ile hedef siteyi belirledik ve cevap değişkeni ile de siteye istek atmak için requests.get yazdık ve parantez için de (link+username) yazdık ki linkin sonuna kullanıcıdan aldığımız kullanıcı adı verisi ile birleştirsin. Daha sonra
kodları ile de eğer siteye attığımız istekten dönen kod 200'e eşit ise Facebook hesabının bulunduğunu yazdırdık. Peki biz bunu dosyaya yazdıracaktık onu nasıl yapacağız bu blokta devam ederek
yazdık. os modülünü biraz biliyorsanız direk anlarsınız fakat temel anlatım yaptığım için anlatacağım burada başına dosya = open("dosya_ismi) yazabilirdik fakat daha düzenli ve işlevli olması için verdiğim şekilde kullandık. Daha sonra bu cevap 200 döndürürse Adresi_bulunanlar.txt dosyasını açacak (w, dosya yoksa oluşturacak ve üstüne yazdırması için. encoding=utf-8 yapmazsanız da harf hatası alabilirsiniz.) ve write fonksiyonu ile adresi ve kullanıcı adını yazdıracak. Sonunda +"\n" kullanmamın sebebi diğer adresleri de yazdıracağız ve dip dibe olmaması için. Peki bulamazsa ne yapacak? Onda da else durumuna geçiş yapacağız.
ile de böyle bir adresin bulunmadığını yazacak. Bunu birçok sosyal medya hesabında yapabilirsiniz ben en altta kodları vereceğim zaten oradan bakabilirsiniz.
Sosyal medya sitelerini ekledikten sonra bunları aynı anda çalıştırmak için Thread modülünün kullanımı.
kodu ile de ilk olarak kullanıcı adını aldık daha sonra Thread(target=facebook ile facebook değerini çağırmamıza yaramaktadır. args=(username) ile de username demetini kullandık ve .start ile de bu kodu çalıştırdık.
Kodun tamamı ve birçok sosyal medya sitesinin eklenmiş hali;
https://github.com/WhiteRedTHT/Social_Media_OSINT
Kodun çalışması
Verilerin Kaydedilmesi
Konuda ki en önemli modül ile tanışmama vesile olduğu için PALA hocaya teşekkürler )
Konum bu kadardı arkadaşlar, bir sonraki konuda görüşmek üzere sağlıcakla..
Öncelikle bazı modülleri eklememiz gerek bunlar;
Kod:
import requests
import threading
from threading import Thread
from requests import get
import time
import os
Bunu Hacknology hocanın anlatımı ile göstermek istiyorum.
Thread, genel anlamda birden çok işlemi aynı anda yapmanıza yarar. Bir mutfak örneği verecek olursam...
-Yemekleri topla
-Bulaşıkları yıka
-Fırını kapat
Siz bu komutu bilgisayara verdiğinizde, bilgisayar önce yemekleri toplamasını, sonra bulaşıkları yıkamasını, sonra ise fırını kapatması gerektiğini anlar. Ama ya bu kadar zamanımız yoksa ve 3 işi birden aynı anda yapmamız gerekiyorsa? İşte karşınızda: Multi-Threading.
Python üzerinden gidecek olursam, threading için gerekli fonksiyonu içe aktarmamız gerekir.
Yani biz istekleri göndereceğiz fakat tek tek yaparsak baya bir uzun sürecek onun yerine verdiğimiz bütün sitelere aynı anda istek yollaması. from threading import Thread bunun sayesinde de Thread fonksiyonunu kullanacağız. from requests import get kodun sayesinde de sayesinde siteye get fonksiyonu ile istek yollayacağız. import time
modülü ile programı bekleteceğiz ve import os modülü ile de aldığımız 200 dönütlerini bir .txt dosyasının içine yazacağız.
Fonksiyon yazarak yapacağız ilk olarak Facebook üzerinden yapalım.
Kod:
def facebook(username):
Kod:
link = "https://www.facebook.com/"
cevap = requests.get(link+username)
Kod:
if cevap.status_code == 200:
print(f"[+]Facebook adresi bulundu, adres: {link+username}")
Kod:
with open("Adresi_bulunanlar.txt","w",encoding="utf-8") as dosya:
dosya.write(link+username+"\n")
Kod:
else:
print("[-]Facebook adresi bulunamadı.")
Sosyal medya sitelerini ekledikten sonra bunları aynı anda çalıştırmak için Thread modülünün kullanımı.
Kod:
username = input("Kullanıcı adı giriniz: ")
Thread(target=facebook, args=(username,)).start()
Kodun tamamı ve birçok sosyal medya sitesinin eklenmiş hali;
https://github.com/WhiteRedTHT/Social_Media_OSINT
Kodun çalışması
Verilerin Kaydedilmesi
Konuda ki en önemli modül ile tanışmama vesile olduğu için PALA hocaya teşekkürler )
Konum bu kadardı arkadaşlar, bir sonraki konuda görüşmek üzere sağlıcakla..
Son düzenleme: