Domanda:
Come e perché il mio sito viene abusato?
Marc
2019-12-18 20:15:18 UTC
view on stackexchange narkive permalink

Possiedo un sito web popolare che consente alle persone di inserire un numero di telefono e ottenere informazioni su quel numero di telefono, ad esempio il nome dell'operatore telefonico. È un servizio gratuito, ma ci costa denaro per ogni query, quindi mostriamo annunci sul sito per aiutarci a pagarlo. Per assicurarci che le persone non ne abusino, abbiamo un captcha e utilizziamo gli indirizzi IP per limitare il numero di query a 30 al mese.

Ma abbiamo comunque assistito ad abusi; improvvisamente riceveremo raffiche di enormi quantità di query da tutti i diversi indirizzi IP che effettuano query (centinaia al minuto) e ottengono i captcha corretti. Quindi continuo a cambiare il captcha - ne ho provati di con parole, equazioni matematiche, reCAPTCHA, ecc. Quando lo faccio, interrompe l '"attacco" per 24 ore circa, e poi ricomincia.

Capisco che le persone possano usare l'OCR e altri metodi per aggirare i captcha, ma non capisco perché provengano da molti indirizzi IP diversi e non correlati.

Forse stanno falsificando gli indirizzi IP? In tal caso, non possono ottenere i risultati dalle query, corretto? In questo caso, forse l'obiettivo è provare a farci del male finanziariamente, invece di volere semplicemente i dati?

Se non stanno falsificando gli indirizzi IP, forse hanno violato un numero enorme di computer diversi e stai eseguendo query da loro? Questo non ha senso per me a causa dell'enorme numero di indirizzi IP che stiamo vedendo (centinaia di transazioni al minuto con un massimo di 30 query per indirizzo IP, per lunghi periodi di tempo) e del fatto che questi dati davvero non è così prezioso.

Quindi sto cercando di capire la loro motivazione e il modo in cui lo stanno ottenendo, in modo da poter reagire in modo appropriato.

I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (https://chat.stackexchange.com/rooms/102500/discussion-on-question-by-marc-how-and-why-is-my-site-being-abused).
Dieci risposte:
mti2935
2019-12-18 21:58:11 UTC
view on stackexchange narkive permalink

Problema interessante. Mi chiedo se una soluzione a questo problema possa essere quella di forzare i browser web dei tuoi utenti a risolvere un problema crittografico (usando javascript in esecuzione nel loro browser web) che è "difficile" da risolvere, ma "facile" da verificare per il tuo sito. Con "difficile" da risolvere, intendo un problema che richiederebbe circa 10 secondi per essere risolto con le risorse di un tipico desktop o laptop. Un problema simile al problema che i minatori di bitcoin risolvono quando vengono estratti nuovi blocchi, ma ovviamente su una scala molto più semplice.

I tuoi utenti legittimi non noterebbero la differenza, poiché lo script si altera mentre compilano il modulo sul tuo sito. Tuttavia, rallenterebbe notevolmente gli autori di abusi e li costringerebbe ad allocare molte più risorse e li costringerebbe a rielaborare qualsiasi strumento stiano utilizzando per automatizzare questi post sul tuo sito.

Questo concetto precede le criptovalute di diversi anni ed è stato fonte di ispirazione per Bitcoin.https://en.wikipedia.org/wiki/Hashcash
Soluzione interessante.Questa potrebbe essere l'unica soluzione che bloccherebbe sia i bot che gli umani che risolvono i captcha nei paesi del terzo mondo.Diventerebbe troppo costoso.
Questo potrebbe essere considerato malware dai browser ed essere bloccato di conseguenza.
@Mast, no, non lo sarebbe.Sono a conoscenza di alcuni siti ragionevolmente importanti che fanno esattamente questo senza problemi (oltre a essere inaccessibili senza Javascript).
Questo sarebbe davvero utile se provenisse da una botnet?Sì, sarebbe più lavoro di calcolo per la botnet, ma poiché sta già limitando la velocità, questo aumenta il tempo a 300s per ip nella botnet invece di 30 * (qualunque sia il tempo di cracking del captcha).
Cloudflare viene fornito con un servizio come questo.Altamente raccomandato.
Non capisco come questo blocchi effettivamente qualcuno.Un attacco distribuito richiederebbe solo 10 secondi extra per round.Un captcha di solito mi impiega 5-10 secondi comunque se lo sbaglio.Alcuni browser automatici non fanno anche JS come Selenium?
@zero298, il fatto è che stai limitando la velocità di ogni richiesta dalla botnet, al di fuori di qualsiasi metodo che un essere umano potrebbe risolvere.Stai anche limitando la scalabilità delle risorse di elaborazione distribuita a loro disposizione.
@Anders - C'è un [modulo python pronto per l'uso] (https://github.com/VeNoMouS/cloudscraper) per aggirarlo - Sembra che tutto ciò che CF attualmente fa sia controllare se il client supporta JavaScript.Ma in linea di principio, questo dovrebbe funzionare: si potrebbe persino eseguire uno dei vari script di crypto mining lato client per un minuto (sarebbe necessario applicarlo lato server per garantire che il client esegua effettivamente il lavoro di calcolo) o così come una sfida.Anche se potresti dover chiedere agli utenti di disattivare il loro blocco degli annunci, ma forse vale la pena anche se alcuni dei tuoi utenti se ne andassero.
Ora che ci penso, questo mi ricorda come TeamSpeak creerebbe la chiave pubblica per i profili.Se bandisci un profilo, ne avrà bisogno uno nuovo che potrebbe richiedere da 1 secondo a diversi giorni.(Il tempo richiesto è stato personalizzato per server)
> Cloudflare viene fornito con un servizio come questo. Sì, e c'è un codice di esempio.Un mio amico e io e abbiamo fatto questo per servizi nascosti, ha amici a cloudflare che lo hanno usato.https://github.com/jsavoie/proof-of-work-login
Non farlo se vuoi supportare i dispositivi mobili, fare un calcolo crittografico duro richiederà il doppio del tempo e distruggerà completamente la batteria dell'utente.
Non sembra ingiusto se il sito web di OP "addebita" agli utenti una soluzione hash valida che potrebbe essere sottoposta a qualche vero sondaggio di mining di criptovaluta.Anche se è poco costoso per l'attaccante se ogni dispositivo botnet deve attendere circa 10 secondi per richiesta, l'OP verrà comunque pagato per questo.
@lvella Stavo pensando la stessa cosa.Alcune bacheche fanno cose simili per "rimanere in nero" più facilmente.
Ivella, SeldomNeedy - È un'ottima idea, ma c'è ben poco da ricavarne.Javascript in esecuzione nel mio browser web (in esecuzione su un laptop decente e abbastanza nuovo) può fare (nella migliore delle ipotesi) circa 20.000 hash al secondo.Al contrario, tutti i minatori di bitcoin che lavorano insieme stanno facendo ~ 100.000.000 di tera-hash al secondo.Tutti macinano per circa 10 minuti, per guadagnare 12,5 bitcoin, che vale circa $ 90.000 USD.Quindi, se fai i calcoli - javascript nel mio browser, l'hashing per 10 secondi a 20.000 hash / secondo vale circa $ 0,0000000003 USD.
Questa non è davvero una grande idea.Per una discussione sul perché questo è il caso, vedere https://news.ycombinator.com/item?id=7944540
Zach Mierzejewski
2019-12-19 23:01:36 UTC
view on stackexchange narkive permalink

Come?

Botnet e farm captcha in affitto.

Perché?

Qualcuno vuole i tuoi dati. È più economico rubarlo che comprarlo.

Cosa fare?

Rubarlo costa meno, ma non è gratuito. Fare questi attacchi costa denaro a "loro" (chiunque alla fine voglia i dati, non la botnet o la fattoria captcha). Rendi più costoso attaccarti di quanto valgano i dati.

  1. Identifica modelli per identificare gli spammer.

  2. Restituisci un aspetto legittimo, ma dati fasulli per gli spammer.

Dopo un certo numero di risposte valide, inizia a scambiare dati fasulli con dati validi. Quindi devono eseguire passaggi aggiuntivi per convalidare i tuoi dati. Questi passaggi aggiuntivi costano denaro extra.

Se non lo convalidano, i loro dati sono meno utili, ovvero valgono meno. Potrebbero ancora essere in grado di usarlo o venderlo, ma è meno prezioso, quindi ancora una volta il costo per attaccarti è superiore al valore restituito.

Questo non risolverebbe davvero il problema.Ci vorrebbe ancora molto tempo prima che il proprietario della botnet riconosca che stai giocando con lui e lui continuerebbe a inviare spam al tuo sito.E se i tuoi dati fasulli sono troppo evidenti, il botter fermerebbe semplicemente il bot per quell'ip una volta che rileva dati fasulli.
Hai ragione, bloccare l'attacco sarebbe meglio.Questo è abbastanza facile / economico da implementare * sopra * gli altri suggerimenti.Tutti i suggerimenti possono essere superati, a un prezzo.Se utilizzi metodi aggiuntivi, ciò si aggiunge al prezzo.Ma hai ragione, non ferma subito i costi per OP.
Come gestisci il fatto che potresti fornire agli utenti legittimi dati fasulli?
MechMK1
2019-12-18 20:51:08 UTC
view on stackexchange narkive permalink

Stai facendo CAPTCHA sbagliato.

L'idea di CAPTCHA è di rendere difficile (leggere "quasi impossibile) per un computer risolverlo, ma facile per un essere umano farlo. usa solo un'immagine statica, chiedendo ad esempio di digitare 4 , quindi un computer non avrà problemi a inserire ripetutamente 4 quando richiesto.

Considera invece l'utilizzo di reCAPTCHA o tecnologie simili. Questi problemi sono già stati risolti e non è necessario reinventare la ruota, come dimostrato di seguito:

[Reinventing the Wheel]

CC-BY-NC 2.5, Randall Munroe, xkcd.com/2140/

I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (https://chat.stackexchange.com/rooms/102499/discussion-on-answer-by-mechmk1-how-and-why-is-my-site-being-abused).
Harper - Reinstate Monica
2019-12-20 06:24:10 UTC
view on stackexchange narkive permalink

Se riesci a mettere un semplice CAPTCHA "digita il numero in questa immagine" e tieni quel bastone per 24 ore, sai che il tuo nemico è un dilettante. Sai che questo tipo di dispositivo primitivo che coinvolge un codice personalizzato li rallenterà per 24 ore. Potrebbe essere divertente :)

Vorrei fare un uso estensivo di fogli di stile per nascondere le informazioni nel codice della pagina: in due sensi, prima nascondi i CAPTCHA e poi nascondi le risposte informative. Con l'obiettivo di fuorviare sadicamente i raschiatori.

Vorrei scrivere un po 'di codice sul lato server per creare risposte false che sono credibili a prima vista, ma fasulle in modi non facilmente confermabili. Inoltre, utilizza il seeding casuale o MD5 per assicurarti che lo stesso input fornisca sempre la stessa risposta fasulla.

Ingannevole sui CAPTCHA:

Ad esempio, lascia l'ultimo sistema CAPTCHA che stavi utilizzando, ma usa i fogli di stile per nasconderlo. Segui con un CAPTCHA diverso, offuscato da Javascript; forse anche un altro reCaptcha con una chiave diversa.

Ora, lo scraper non si renderà conto che il primo CAPTCHA è stato soppresso con i fogli di stile. Risolverà allegramente il CAPTCHA e restituirà la risposta con la chiave sbagliata. Gotcha . Tuttavia, proprio come il cracking di Enigma, non puoi rendere ovvio che hai infranto il codice; il raschietto deve continuare a credere che funzioni .

Ingannevole nelle risposte:

presenta una risposta come di consueto, con un foglio di stile attorno ad essa. Il foglio di stile nasconde questo risultato alle persone normali; il raschietto ignora che questo foglio ha la proprietà "nascosta". La risposta che presenti qui è il falso . Presentare in seguito il vero risultato. Per i punti bonus, presenta i risultati in una grafica che li renda non graffiabili. Cerca di nasconderlo ovviamente.

Se hai una telemetria (risolto un CAPTCHA sbagliato) che indica che si tratta di una query raschiata, non preoccuparti nemmeno di acquistare il risultato della query dal tuo fornitore di servizi . Inserisci una sospensione (t + casuale) per il tipico intervallo di tempo impiegato dal tuo fornitore di servizi, quindi invia una risposta falsa.

Sembra normale

L'autore dell'attacco crederà che le cose funzionino normalmente e controllando solo la riuscita della query, non la qualità dei risultati. Con un po 'di fortuna, il tuo aggressore non avrà effettuato l'accesso quando ogni query è stata effettuata e sta semplicemente scaricando le risposte in un database. L'attaccante potrebbe impiegare parecchio tempo per rendersi conto che hai avvelenato i dati, a quel punto l'intero database sarebbe danneggiato, non avendo idea di quali voci siano valide e quali siano velenose (vedi l'importanza di rendere legittimi i dati falsi ?) Anche se l'aggressore ha timestampato ogni voce, che caccia al bug! Dover controllare manualmente diverse voci per ogni giorno per capire quando i dati sono andati male.

E ancora una cosa. Memorizza nella cache le risposte vere e, se una query botnet è nella cache, dai sempre la risposta corretta dalla cache. Quindi il raschietto, la risoluzione dei problemi, colpirà il tuo vero sito web con un browser e chiederà un numero di prova di 213-456-7890. L'occultamento funzionerà e si comporterà come una vera query, quindi calcolerai la risposta reale e la restituirai. Successivamente, lo scraper dirà alla botnet di richiedere 213-456-7890. Per vedere se il bot ottiene un risultato diverso. Rileverai la query del bot . Se ora dai una risposta falsa, il raschietto sa che la maschera è aperta e ripeterà una volta interrotto il rilevamento. Quindi dal momento che hai la vera risposta nella cache, dagli, anche nei campi nascosti. Ora, lo scraper è perplesso: la botnet sembra funzionare .


Perché e come

Ovviamente qualcuno trova preziosi i tuoi dati. Lo otterrebbero dalla tua fonte, ma non vogliono pagare per questo, quindi ti stanno raschiando.

  • È possibile che siano effettivamente un sito web della concorrenza che fa la stessa cosa che fai tu e che ti generano una query quando ne riceve una dal loro visitatore. In sostanza questo è uno schema per utilizzare il tuo servizio ma pubblicare i loro annunci. Tu stesso conosci il valore di questo. Puoi verificarlo facendo query oscure e diverse su ogni sito della concorrenza e vedere quali query compaiono nei tuoi log.

Ci sono un'infinità di modi per risolvere i CAPTCHA. Nell'esempio di un sito Web della concorrenza che estrae i tuoi dati per i propri clienti, potrebbero semplicemente passare il tuo CAPTCHA ai propri clienti. Ci sono anche modi per indurre gli umani a fare CAPTCHA per te, come "risolvi i CAPTCHA e ottieni porno gratis", o offrendo un servizio non correlato che richiede CAPTCHA per qualche motivo, come una bacheca anonima. Ogni volta che qualcuno pubblica, ti invia una query e ottiene il suo poster per risolvere il tuo CAPTCHA. C'è anche CAPTCHA che risolve essenzialmente la schiavitù nel terzo mondo.

Ottima idea.Piuttosto che impostare semplicemente nascosto sulla risposta falsa, potresti voler nasconderla indirettamente, posizionandola casualmente fuori dalla visualizzazione o mettendola sotto un altro elemento, poiché sarà più difficile da rilevare.
phLOx
2019-12-19 10:57:18 UTC
view on stackexchange narkive permalink

Perché?
I dati relativi a numeri di telefono, nomi e indirizzi email sono estremamente preziosi, sia nel mercato legale che in quello clandestino.

Come?
Sembra che qualcuno stia usando una botnet per estrarre dati da te. Ciò potrebbe significare connessioni da poche dozzine di IP sparsi in tutto il mondo a migliaia di loro. Personalmente non ho idea di come stiano aggirando i reCapcha, a parte l'utilizzo di lavoro manuale da siti che offrono servizi di risoluzione di capcha. Tutti questi costi in un modo o nell'altro.

Soluzione?
Dichiarazione di non responsabilità: non sono un esperto di sicurezza.
Alcuni servizi gratuiti utilizzano un sistema di accodamento dopo un certo numero di query. Supponiamo che tu non voglia sovraccaricare il tuo sistema, consenti un massimo di 30 richieste (o qualsiasi numero di richieste simultanee che il tuo sistema può facilmente gestire) in qualsiasi momento. Le richieste inoltrate mentre la coda è piena ricevono un messaggio che spiega che il server è occupato e devono riprovare in un secondo momento o vengono automaticamente messe in coda.Questa soluzione non è priva di problemi poiché a volte i tuoi client legittimi dovranno attendere essere servito, specialmente durante le ore di punta o durante un attacco.

Hai menzionato che cambiare il tuo metodo di capcha frena gli attacchi per un po '. Forse c'è un modo per alternare il metodo capcha per ogni visitatore con ogni richiesta in modo casuale? Per lo meno l'aggressore dovrebbe riscrivere alcuni dei loro metodi. Nella migliore delle ipotesi, i loro attacchi riusciti sono divisi per la quantità di metodi diversi incorporati.

Sullo stesso thread del rilevamento dell'abuso e della modifica della risposta, considera di rispondere con dati spazzatura che sembrano plausibili.Dovresti essere sicuro che la richiesta sia sospetta.Sono curioso di sapere se i tempi, gli IP di origine o la richiesta non hanno una qualità unica che potresti attivare.
Sfortunatamente, senza metodi appropriati per separare i bot dagli utenti legittimi, sia questa soluzione che la soluzione "pants" nei commenti trasformano l'attività botnet in un attacco DOS.Non sono sicuro che trasformare un attacco in un altro sia il modo migliore per farlo.
Molti servizi di informazione come gli OP forniscono i dati tramite posta elettronica.Questo potrebbe essere qualcosa che stanno evitando, ma ti consentirebbe di limitare le consegne a un dominio.
Non sono un esperto di sicurezza, ma sono abbastanza sicuro che le tre triadi della sicurezza siano: riservatezza, integrità e disponibilità.Quell'ultima gamba viene spazzata via dalla soluzione proposta.
Mi piace il motivo dell'attacco.Potrei vedere se sei un truffatore di testo / telefono offshore, avere informazioni sul numero di telefono che stai chiamando potrebbe essere molto prezioso.
Stephen Bailey
2019-12-19 20:51:30 UTC
view on stackexchange narkive permalink

La loro motivazione potrebbe semplicemente essere quella di creare un servizio simile e di aver bisogno di dati. Il tuo servizio potrebbe essere una di queste origini dati che hanno trovato e devono essere analizzate.

Hai provato a limitare la velocità delle tue richieste? Dici che stai ricevendo centinaia al minuto (supponendo dallo stesso indirizzo / i IP), quindi non potresti registrare quelle richieste, rilevare i visitatori ripetuti entro un periodo di tempo ragionevole e quindi sospendere temporaneamente l'IP per un periodo di tempo?

Puoi anche aggiungere elementi del modulo "honeypot" nel tuo modulo. Gli elementi del modulo Honeypot sono nascosti agli utenti geniali, ma vengono compilati automaticamente dai bot. Qualsiasi richiesta con dati in quei campi viene automaticamente scartata e forse anche bandita.

In questo caso, sembra che il sito Web dell'OP sia stato mirato in modo specifico (dal momento che stanno spostando i captcha) e i moduli honeypot funzionano solo con bot generici (ad esempio quelli che sondano i moduli di commento su molti siti Web diversi).Se l'aggressore sta prendendo di mira specificamente il tuo sito web, di solito lo fa guardando manualmente il codice del tuo sito web e scrivendo uno script per inviare moduli o eseguire azioni, e terranno conto dei moduli honeypot.
Hobbamok
2019-12-19 16:14:53 UTC
view on stackexchange narkive permalink

Non utilizzare una soluzione captcha, usale tutte!

Dal momento che ne hai già più di diverse in giro, perché non ruotarle (casualmente) su uno dei due ora o anche per richiesta? Anche se gli aggressori teoricamente li hanno decifrati tutti, la necessità di rilevare il tipo di captcha è di per sé un altro captcha da risolvere per i computer (pur non interessando affatto gli esseri umani).

Può anche includere domande stupide come captcha come "quale numero di telefono stai cercando di nuovo" ecc., più cose casuali sono più difficili da fare per i bot.

Soprattutto se utilizzi discipline diverse (riconoscimento di immagini, lettura di numeri, matematica, cultura generale, ecc.) i botter avrebbero difficoltà a dare seguito.

E non è necessario superarli perfettamente in astuzia, devi solo fare in modo che non valga più il loro tempo.

Modifica : questo richiederebbe anche il lancio regolare di nuovi tipi di captcha

Qual è la tua base per dire che rilevare il tipo di captcha è più difficile che risolvere il captcha?Mi sembra intuitivo che dovrebbe essere molto più semplice in quanto ci saranno tutti i tipi di metadati che varieranno tra i tipi.
Presumi che i bot siano hardcoded per un tipo specifico di captcha e decifrano solo quello per cui sono progettati.Non stai assumendo che i bot ispezionino per vedere quale captcha viene visualizzato e applichi il processo appropriato.
@schroeder se OP continua a fregare con il layout del sito, allora * richiederebbe * l'hardcoding manuale per essere risolto!Per non parlare dei fogli di stile per nascondere materiale.
mottek
2019-12-21 02:43:31 UTC
view on stackexchange narkive permalink

Quindi sto cercando di capire la loro motivazione e il modo in cui lo stanno realizzando, in modo da poter reagire in modo appropriato.

È anche possibile che i proxy vengono utilizzati per accedere al servizio. Solo google per open proxy list restituisce alcuni siti che presentano proxy aperti che potrebbero essere utilizzati anche per mascherare l'indirizzo IP del client.

Suggerisco di accedere all'intestazione HTTP X- Forwarded-For e Via sul lato server per un po 'di tempo e poi controlla se è plausibile che tali proxy vengano utilizzati per abusare del tuo sistema. X-Forwarded-For di solito contiene l'indirizzo IP del client, Via contiene gli IP dei proxy nella catena (se presenti). Tieni presente che l'utilizzo di proxy in generale è legittimo, ma potrebbero esserci alcuni modelli interessanti, ad es se vedi gli stessi proxy utilizzati più e più volte durante un periodo di attacco.

FarhadGh
2019-12-19 20:28:17 UTC
view on stackexchange narkive permalink

Non la considero una risposta completa. Sto dicendo cosa farei in una situazione simile.

  1. Registra le query. C'è qualche modello nelle loro domande? ad esempio, Paese specifico o area specifica. Nel caso in cui stiano davvero utilizzando i risultati, deve esserci uno schema. In caso contrario, considererei il numero 2.

  2. Hai detto che quando cambi tipo e tecnologia di captcha, l'attacco si ferma per circa 24 ore. Lo leggo in questo modo:

    Quando combatto per 10 minuti di lavoro, danneggio l'avversario per 24 ore di lavoro.

    Quindi tutto ciò che devi fare è continuare a danneggiare le loro ore e persistono in questo. Rende chiunque lo faccia stanco e puoi star certo che sarà il primo a smettere di combattere. le reali probabilità di vincita sono -> 1 - (10/1440)

    Questa non è una vera soluzione, piuttosto è qualcosa che prenderei in considerazione prima di andare al numero 3.

    Ricorda , Potrebbero tornare il mese prossimo o sei mesi dopo, ma ora sanno che stai combattendo con insistenza e che sei tu quello che perde troppo poco.

    Potresti persino rendere la lotta per loro un po 'più difficile, ad esempio, più di 3 query in un giorno, richiede all'utente di inserire 2 tipi di captcha. dopo il decimo, il sistema esegue un hardcores ancora di più, in un modo che il tuo vero visitatore non se ne accorgerebbe.

  3. Triste ma usa l'autorizzazione. Anche tu puoi facoltativamente rendere disponibili le prime n (n<10) query in modo anonimo, ma più di questo richiede l'accesso.

Dan Stepaniak
2019-12-20 19:46:14 UTC
view on stackexchange narkive permalink

Ho sviluppato un modulo di contatto che gli autori di abusi tentano di abusare da più di un anno e hanno costantemente fallito.

Il mio approccio include una combinazione di:

  1. Dopo ogni campo obbligatorio lo convalida innesca una chiamata ajax che recupera un nuovo nome di campo generato casualmente da 32-48 caratteri che viene temporaneamente memorizzato in una tabella db di convalida del modulo. Quindi, quando il modulo viene inviato, un campo in arrivo con un nome che non è stato generato dal server o che ha il nome del campo originale attiva l'accesso all'indirizzo IP remoto del database e ciò che hanno inviato in relazione all'invio del modulo. Una volta modificato il nome del campo, qualsiasi invio con il nome del campo originale viene rilevato come abuso e trattato di conseguenza.
  2. Devono essere sulla pagina in cui si trova il modulo per almeno 1,3 secondi per campo obbligatorio e tutti i campi devono essere convalidati prima che la proprietà di disabilitazione del pulsante di invio venga rimossa e almeno il nome dell'input di invio venga modificato con una nuova chiamata ajax o un nome e / o un valore ricevuto da una precedente chiamata di nome di campo ajax. Il nome e il valore del pulsante devono corrispondere durante la convalida del modulo sul server o l'abuso viene rilevato e gestito di conseguenza.
  3. Registro tutti gli invii a db e contrassegno l'abuso con una destinazione DENY e una volta che hanno abusato del mio modulo vengono bloccati in modo permanente anche dalla pagina del modulo e vengono reindirizzati direttamente a una risposta 403 dopo la registrazione del tentativo di visita.
  4. Durante una delle chiamate ajax a volte genererò casualmente un nuovo campo e un valore che ottiene aggiunto al modulo prima dell'invio e deve essere presente o l'invio non verrà convalidato e verrà rilevato come abuso.
  5. Puoi includere campi honeypot ma non nascondere l'oggetto campo che verrà rilevato. Nascondi un oggetto genitore se intendi nascondere il campo. Puoi anche posizionarlo in modo assoluto e posizionarlo lontano dalla vista. Tutti i campi honeypot che arrivano al server con un valore di qualsiasi tipo vengono rilevati come abusi e trattati come tali.

Assicurati di registrare tutti gli invii in modo da poter monitorare nuovi modelli pensato per aggirare la tua sicurezza.

Tutto ciò può essere falsificato / duplicato da un utente malintenzionato mirato che si prende il tempo per comprendere le tue regole di convalida.In questo caso, l'OP sembra essere di fronte a un aggressore che prende di mira specificamente i loro sistemi, quindi questo potrebbe finire per essere un sacco di lavoro solo per un vantaggio molto temporaneo
Non ho davvero presentato o inteso che questo sarebbe stato alcun tipo di proiettile d'argento permanente.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...