Zafiyet Taraması: Güvenlik Açıklarını Tespit Etme İçin Basit Bir Araç

  • Konuyu başlatan Konuyu başlatan nt
  • Başlama tarihi Başlama tarihi

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,221
Selam!

Öncelikle ben siber güvenlik alanında çalışmıyorum ilgilenmiyorumda hatta dolandırılmasaydım yine lgilenmezdim
Yapay zeka ve kuantum programlama konusunda yoğun bir şekilde çalışıyorum.
Makine öğrenimi, derin öğrenme ve kuantum bilgisayarlar gibi alanlarda edindiğim bilgi ve deneyimle sizlere yardımcı olmaktan büyük bir keyif alıyorum.
Fakat yolumun üzerinde bazı duraklar var bu kodda onlardan biri.


Sizlerle, Python programlama dili ve aiohttp kütüphanesi kullanarak geliştirdiğim basit bir zafiyet tarama aracını paylaşmak istiyorum.

Bu araç, Bing arama motorunu kullanarak belirli anahtar kelimelerle yapılan aramalar sonucunda hedef bir sitedeki potansiyel güvenlik açıklarını tespit etmeyi amaçlamaktadır.

Kod, asenkron programlama prensiplerini kullanarak etkili bir şekilde çalışır ve kullanıcıdan hedef siteyi girmesini ve anahtar kelimelerin bulunduğu "keywords.txt" dosyasını sağlamasını bekler.(burada dosya yolunu eksiksiz olarak koda yazmanız gereklidir)

Ardından, Bing arama sonuçları üzerinden elde edilen bağlantıları analiz eder ve yeni bulunan güvenlik açıklarını kullanıcıya bildirir.

Kodun kullanımı oldukça basittir ve herhangi bir geliştirici, zafiyet taraması konusunda başlangıç yapmak için bu aracı özelleştirebilir.

ekdeki keywords.txt yi indirip dosya yolunu koda bildirin ardından vscode kullandığım için run diyorum ve kod çalışıyor bu kadar basit.

Kod:
import aiohttp
import asyncio
import signal
import sys

class VulnerabilityScanner:
    BASE_URL = 'https://www.bing.com'
    PARAMETERS = '/search?q={}'

    def __init__(self, target_site):
        self.target_site = target_site
        self.should_stop = False
        self.found_links = set()

    def read_keywords(self, keywords_file):
        with open(keywords_file, 'r') as file:
            keywords = file.readlines()
        return [keyword.strip() for keyword in keywords]

    async def search_keyword(self, session, keyword):
        url = self.BASE_URL + self.PARAMETERS.format(f"site:{self.target_site} {keyword}")

        try:
            async with session.get(url) as response:
                html = await response.text()
        except Exception as e:
            print(f"Error: {e}")
            return set()

        links = set()
        for result in html.split('<h2 class="b_algo">')[1:]:
            try:
                link = result.split('<a href="')[1].split('"')[0]
            except Exception as e:
                print(f"Error extracting link: {e}")
                continue

            if '=' in link:
                links.add(link)

        return links

    async def find_links(self, keywords):
        async with aiohttp.ClientSession() as session:
            tasks = [self.search_keyword(session, keyword) for keyword in keywords]
            results = await asyncio.gather(*tasks)

            for i, keyword_links in enumerate(results):
                new_links = keyword_links - self.found_links
                if new_links:
                    print(f"Keyword: {keywords[i]} - Found! Links: {', '.join(new_links)}")
                    self.found_links.update(new_links)

                if self.should_stop:
                    print("Terminated by user.")
                    sys.exit(0)

            if not self.found_links:
                print("No vulnerabilities found.")

    def stop_search(self, signum, frame):
        self.should_stop = True


if __name__ == "__main__":
    target_site = input("Enter the target site (e.g., example.com): ")
    keywords_file = "keywords.txt"

    scanner = VulnerabilityScanner(target_site)

    signal.signal(signal.SIGINT, scanner.stop_search)

    keywords = scanner.read_keywords(keywords_file)

    asyncio.run(scanner.find_links(keywords))

ilgili kod ile github repom var ama githubda bizim forumun aynısı sonuçda

oradan link paylaşıcağıma


buraya kodları yazıyorum umarım sizin için iyi bir başlangıç noktası olur

Paylaşılan kod ile ilgili herhangi bir geri bildirimi veya soruyu bekliyorum.
 

Ekler

Forum istatistikleri

Konular
7,285
Mesajlar
123,100
Üyeler
2,938
Son üye
oguzbaste

Son kaynaklar

Son profil mesajları

Freemont2.0 herbokolog Freemont2.0 wrote on herbokolog's profile.
nick iniz yakıyor
:D
Freemont2.0 posta Freemont2.0 wrote on posta's profile.
Merhabalar :)
az bilgili çok meraklı
Prooffy semih_s Prooffy wrote on semih_s's profile.
Merhaba, sizden DSO2C10 hakkında bilgi rica ettim. Yanıtlarsanız sevinirim...
Unal taydin Unal wrote on taydin's profile.
Timur Bey, Arduino kontrollü bir akü şarj cihazı yapmaya çalışıyorum. Aklımdaki fikri basit bir çizim olarak konu açmıştım. Özellikle sizin fikirlerinizi çok önemsiyorum.
Back
Top