Laravel URLScan API Paket

Laravel URLScan API Paket

Erstellt: vor 2 Monaten

Bearbeitet: vor 2 Monaten

Kategorie: Projekte

Author: Tobias Schottstädt

Laravel URLScan API Paket

In der heutigen digitalen Landschaft ist die Sicherheit von Websites und Webanwendungen wichtiger denn je. Cyberbedrohungen wie Phishing, Malware und andere schädliche Aktivitäten nehmen stetig zu und können erhebliche Schäden für Unternehmen verursachen. Daher ist es entscheidend, Werkzeuge zu haben, die solche Bedrohungen frühzeitig erkennen und verhindern. Eines dieser Werkzeuge ist Urlscan.io, ein Online-Dienst, der eine tiefgehende Analyse von URLs ermöglicht. In diesem Artikel werfen wir einen detaillierten Blick auf Urlscan.io und stellen mein neues Laravel-Paket vor, das die Integration dieses Dienstes in Ihre Anwendungen vereinfacht.

Inhaltsverzeichnis

Was ist Urlscan.io?

Urlscan.io ist ein Online-Service, der es Benutzern ermöglicht, URLs umfassend zu analysieren. Es fungiert als öffentliches Frontend für die Analyse von Webseiten, ähnlich wie Virustotal für Dateien und Hashes. Wenn Sie eine URL an Urlscan.io übermitteln, besucht der Dienst die Website, lädt alle Ressourcen und erstellt einen detaillierten Bericht über das Verhalten der Seite. Dies umfasst Informationen über die geladenen Skripte, eingebetteten Inhalte, Netzwerkverbindungen und vieles mehr. Der Hauptzweck von Urlscan.io ist es, potenziell schädliche Websites zu identifizieren und detaillierte Informationen bereitzustellen, die bei der Sicherheitsanalyse helfen.

Hauptfunktionen von Urlscan.io

Urlscan.io bietet eine Reihe von leistungsstarken Funktionen, die es zu einem unverzichtbaren Werkzeug in der Sicherheitsbranche machen:

  • URL-Analyse: Detaillierte Untersuchung der eingegebenen URL, einschließlich aller geladenen Ressourcen und Netzwerkverbindungen.
  • Screenshot-Erstellung: Automatische Erstellung von Screenshots der gescannten Seite zur visuellen Überprüfung.
  • Domäneninformationen: Anzeige von DNS-Informationen und SSL-Zertifikatsdetails zur Identifizierung von gefälschten oder kompromittierten Domänen.
  • API-Zugriff: Programmatischer Zugriff auf Scans und Ergebnisse über eine RESTful API für automatisierte Prozesse.
  • Integration: Möglichkeit zur Integration in SIEM-Systeme und andere Sicherheitsplattformen für eine nahtlose Sicherheitsinfrastruktur.

Wie Urlscan.io funktioniert

Urlscan.io nutzt eine virtuelle Browserinstanz, um die eingegebene URL zu besuchen. Während des Besuchs protokolliert der Dienst jede Netzwerkinteraktion und Ressource, die die Webseite lädt. Dieser Prozess ermöglicht eine tiefgehende Analyse, einschließlich der Erkennung von verstecktem JavaScript, unerwarteten Weiterleitungen und verdächtigen Domänenverbindungen. Die gesammelten Daten werden dann in einem detaillierten Bericht zusammengefasst, der Sicherheitsforschern und Unternehmen wertvolle Einblicke bietet.

Vorteile für Unternehmen

Für Unternehmen bietet Urlscan.io erhebliche Vorteile:

  • Bedrohungserkennung: Frühzeitige Identifizierung von Phishing-Seiten und Malware, um Sicherheitsverletzungen zu verhindern.
  • Compliance: Unterstützung bei der Einhaltung von Sicherheitsrichtlinien und -standards durch regelmäßige Überwachung.
  • Automatisierung: Integration in bestehende Workflows zur automatischen Überwachung und Reaktion auf Bedrohungen.
  • Sicherheitsforschung: Bereitstellung von Daten für tiefgehende Analysen und Entwicklung von Sicherheitsstrategien.

Einführung des Laravel-Urlscan-Pakets

Um die Integration von Urlscan.io in Laravel-Anwendungen zu erleichtern, habe ich das neue Paket laravel-urlscan entwickelt. Dieses Paket ermöglicht es Entwicklern, die Funktionen von Urlscan.io direkt in ihre Projekte einzubinden und die API nahtlos zu nutzen. Es bietet eine einfache und intuitive Schnittstelle zur Durchführung von URL-Scans, Abrufen von Ergebnissen und Integration in bestehende Sicherheitsprozesse.

Installation des Laravel-Urlscan-Pakets

Die Installation des Pakets erfolgt über Composer und ist in wenigen Schritten erledigt:

  1. Paketinstallation: Führen Sie den folgenden Befehl aus:
    composer require xchimx/laravel-urlscan
  2. Paketinstallation: Fügen Sie den Service Provider und die Facade zu Ihrer app.php-Konfigurationsdatei hinzu, wenn Sie keine Paket-Erkennung verwenden:
    
    // config/app.php
    
    'providers' => [
        ...
        Xchimx\LaravelUrlScan\UrlScanServiceProvider::class,
        ...
    ];
    
    'aliases' => [
        ...
        'UrlScan' => Xchimx\LaravelUrlScan\UrlScan::class
        ...
    ];
    
  3. Konfigurationsdatei veröffentlichen: Veröffentlichen Sie die Konfigurationsdatei mit:
    php artisan vendor:publish --provider="Xchimx\\Urlscan\\UrlscanServiceProvider" --tag="config"
  4. API-Schlüssel einrichten: Fügen Sie Ihren Urlscan.io API-Schlüssel in der Datei .env hinzu:
    URLSCAN_API="YOUR-API-KEY-SET-HERE"

Konfiguration und Verwendung

Nach der Installation können Sie das Paket wie folgt verwenden:

Grundlegende Verwendung

Importiere die Facade:

use Xchimx\LaravelUrlScan\UrlScan;

User


$user = UrlScan::user()->getQuotas();

Scan


$url = 'https://laravel.com/';
$visibility = 'public'; // Options: 'public', 'private', 'unlisted'
$result = UrlScan::scan()->submitUrl($url, $visibility);

Result


$uuid = '358c5c79-b712-4e61-b79e-4a59e3c8b116'; //laravel.com
$getResult = UrlScan::result()->getResult($uuid);
$getScreenshot =  UrlScan::result()->getScreenshot($uuid);

Search


$query = 'page.url.keyword:https\:\/\/www.paypal.com\/*';
$getSearchResults =  UrlScan::search()->search($query);

Kombiniertes Beispiel


    public function startScan()
    {
        $url = 'https://laravel.com/';
        $visibility = 'public'; // Options: 'public', 'private', 'unlisted'
        $result = UrlScan::scan()->submitUrl($url, $visibility);

        if (isset($result['uuid'])) {
            sleep(10); //necessary else the scan isn't finished yet
            $getResult = UrlScan::result()->getResult($result['uuid']);
            $getScreenshot = UrlScan::result()->getScreenshot($result['uuid']);
            return [
                'result' => $getResult,
                'screenhots' => $getScreenshot
            ];

        } else {
            return response()->json(['error' => 'UUID not found'], 400);
        }
    }

Dieses Beispiel sendet eine Scan-Anfrage an Urlscan.io und gibt die Ergebnisse zurück. Nimmt die generierte UUID auf und holt detailierte Informationen ab, ebenfalls erstellt es die Links zu den Screenshots.

Fazit

Urlscan.io ist ein leistungsstarkes Werkzeug für die Sicherheitsanalyse von Websites. Mit dem neuen Laravel-Paket wird die Integration in Ihre Anwendungen einfacher denn je. Unternehmen können von dieser Integration profitieren, indem sie ihre Sicherheitsmaßnahmen verstärken und potenzielle Bedrohungen frühzeitig erkennen. Ich empfehle, dieses Paket in Ihre Sicherheitsstrategie zu integrieren, um einen proaktiven Ansatz bei der Cyberabwehr zu gewährleisten.

Das Github Repository.

Das Repository auf Packagist.

Tobias Schottstädt

Author

Hey 👋 mein Name ist Tobias Schottstädt,
ich bin ein PHP Entwickler aus Kassel und kann dich möglicherweise in deinem Projekt unterstützen. Schau dir einfach mal an oder schreib mir direkt unter

Mein Hauptaugenmerk liegt dabei auf der Anwendungsentwicklung, diese realisiere ich hauptsächlich mit den Programmiersprachen PHP und Javascript. Genutzt werden dafür die Frameworks Laravel und Vue.JS bzw. Livewire.