Stringa URL casuale: che tipo di attacco è questo e cosa si può fare per fermarlo?

8

Modifica

È passato un po 'di tempo da quando è stato pubblicato, ma sono qui per segnalare che questo NOT sembra essere stato una sorta di attacco dopotutto.

Piuttosto, questa stringa URL specifica indica una sessione senza cookie .

Sembra che questo non sia altro che uno (o più) dei nostri utenti che hanno colpito il nostro sito con i cookie disabilitati e la nostra app non è stata configurata per gestire correttamente questo inserimento nella stringa dell'URL.

Suppongo che sia ancora possibile che qualcuno stia tentando di manipolare questo effetto (i timestamp e la frequenza erano di interesse), ma credo che questo fosse più probabile il fatto che noi saltassimo sul "noi" sei attaccato! " allenarsi un po 'troppo presto. È stato sorprendentemente difficile trovare informazioni su questo!

In definitiva, l'abbiamo capito quando ho incontrato questo pattern URL esatto nel nostro ambiente di test (isolato) e ho deciso di fare ulteriori ricerche sul problema.

Grazie a tutti per il vostro aiuto con questo, e scusate per ogni confusione! Sto lasciando intatta la domanda iniziale per evitare di invalidare le risposte che sono già presenti.

Testo originale:

Lavoro per un'azienda che ha un sito Web pubblico per i nostri clienti. Nelle scorse settimane abbiamo visto una serie di voci di registro che assomigliano a questo:

The controller for path '/(x(1)s(mpwcjessdyhikng0a1kyud1z))/' was not found or does not implement IController.

Queste voci sono in genere a circa 1 secondo di distanza e iniziano sempre con x(1)s seguito da una stringa casuale di caratteri, seguita da vari percorsi per pagine diverse, in particolare /account or /account/recoverpasswordrequest/ . Questo tende ad andare avanti per 10-30 minuti, e in genere non lo vediamo di nuovo fino al giorno successivo, anche se succede praticamente ogni giorno.

Abbiamo inserito nella lista nera diversi IP da cui è successo, ma questa persona / e sta ovviamente usando molti IP diversi per eseguire qualunque script lo stia facendo.

Qualcuno può aiutarmi a capire cosa sta succedendo qui, specialmente con che cos'è x(1)s , o che tipo di informazioni potrebbe tentare di ottenere? L'attacco è fallito perché non abbiamo un controller nominato in modo casuale che accetterà queste informazioni, ma sarebbe meraviglioso poter porre fine a questo o almeno avere una migliore comprensione di ciò che sta accadendo.

EDIT: questa "richiesta" segue sempre lo stesso modello (x(1)s(random)) . Ci sono 3 URL che vengono colpiti principalmente:

The controller for path '/(x(1)s(31k5il1as0vxxnbfnnsrzm3b))/' was not found or does not implement IController. The controller for path '/(x(1)s(31k5il1as0vxxnbfnnsrzm3b))/account/register' was not found or does not implement IController. The controller for path '/(x(1)s(31k5il1as0vxxnbfnnsrzm3b))/account/recoverpasswordrequest' was not found or does not implement IController.

L'URL completo sarebbe: https://example.com/(these requests)

Il sito utilizza MVC, quindi questi particolari messaggi di errore ci impediscono di avere un controller denominato (x(1)s(blah)) a cui questo URL può risolvere. Le voci del registro mostrano la stessa stringa casuale utilizzata per tutti e 3 gli URL, quindi viene generata una nuova stringa casuale e viene ripetuto lo stesso modello.

Queste voci di registro provengono da questa richiesta non riuscendo e causando un'eccezione nella nostra logica dell'applicazione. Pertanto, stanno bypassando il firewall e in realtà fallendo nel nostro codice.

    
posta levelonehuman 01.06.2015 - 16:03
fonte

4 risposte

2

Sono d'accordo con @RomeoNinov sul fatto che questo è probabile logica fuzz / testing o solo uno scanner che scopa tutte le applicazioni disponibili. In termini di interruzione di questo, è meglio escludere il bianco, elencando tutte le richieste accettabili. Altrimenti stai giocando a whack-a-mole bloccando tutte le richieste non necessarie che sono troppo grandi per stare al passo con.

La mia raccomandazione è di sfruttare il filtro delle richieste IIS poiché è una funzionalità nativa all'interno di IIS7 +. Aggiungi tutti gli URL dell'applicazione (es. Cs-uri-stem) all'impostazione alwaysAllowedUrls . Quindi imposta le estensioni di file consentite come segue in quanto consentirà solo il documento predefinito e nessun altro. Avere questi due elementi in posizione avrebbe restituito un HTTP 404 molto presto nella pipeline di IIS, quindi la richiesta non sarebbe stata elaborata dal codice dell'applicazione.

<fileExtensions allowUnlisted="false">
    <clear/>
    <add fileExtension="." allowed="true" />
</fileExtensions>

FWIW, ho pubblicato sul mio blog sulla definizione delle soglie per il filtro delle richieste di IIS. C'è ancora molto da aggiungere ma spero che possa aiutarti a iniziare.

    
risposta data 02.06.2015 - 08:04
fonte
3

Questo modello mi sembra come fuzz logic / testing.

Il motivo può essere l'impronta digitale dell'infrastruttura

e / o

Trova / trova eventuali bug nel tuo software web che possono essere sfruttati ulteriormente

e / o

Trova risorse non protette nel sito web per rubare alcune informazioni interne / clienti.

Anche l'uso della logica fuzz sembra essere alla ricerca di un percorso valido nel / sui sito / app / i web

P.S. Ovviamente questo è il caso peggiore, ma nella sicurezza IMHO questo è il modo per ottenere una buona valutazione di un particolare problema

    
risposta data 01.06.2015 - 20:31
fonte
1

Sembra che ciò possa accadere se l'utente ha disabilitato i cookie, quindi torna a includere le informazioni nell'URL:

link

    
risposta data 16.03.2017 - 20:26
fonte
0

Alcuni sistemi unix non gestiscono correttamente le parentesi senza escape nei nomi dei percorsi, specialmente se il sistema utilizza un qualche tipo di script per eseguire la riscrittura dell'URL o qualcosa del genere.

Non so cosa intendi per "MVC" (framework System.Web.Mvc?).

Non c'è nulla che tu possa fare per fermare questo sondaggio, tranne che vietare gli IP. Ai vecchi tempi in cui gestivo un server web, dovevo bloccare l'intera isola di Taiwan (perché in quel momento tutto il traffico della Cina attraversava Taiwan).

    
risposta data 02.06.2015 - 06:59
fonte

Leggi altre domande sui tag