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

nt

Emekli
Katılım
21 Nisan 2023
Mesajlar
1,215
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.

Python:
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

  • keywords.txt
    39.6 KB · Görüntüleme: 49

Forum istatistikleri

Konular
5,841
Mesajlar
99,632
Üyeler
2,480
Son üye
mozcelikors

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top