2016-06-03 31 views
9

Ho un piccolo sito (MVC5) con la funzione Contattaci in esso, questa mattina ho scoperto che ho centinaia di e-mail da uno stesso IP. Invito i risultati dal database e tutti loro sono solo un mucchio di strane stringhe e qualche script/SQL injection.Ho trovato molte stringhe strane nel mio database, qualcuno sta cercando di entrare nel mio sito?

Ho già utilizzato i parametri sul mio database (SQL Server 2014) e il filtraggio della whitelist su tutti gli input dell'utente. Mi chiedo solo se dovrei essere preoccupato?

Joey'" 
Joey\\'\\" 
Joey'"'"'"'" 
Joey AND 1=1 -- 
Joey AND 1=2 -- 
Joey" AND 1=1 -- 
Joey" AND 1=2 -- 
Joey' 
Joey 
Joey\' 
Joey 
Joey" UNION SELECT 8, table_name, 'vega' FROM information_schema.tables WHERE table_name like'% 
1 AND 1=1 -- 
1 AND 1=2 -- 
' AND 1=1 -- 
' AND 1=2 -- 
" AND 1=1 -- 
" AND 1=2 -- 
Joey'' 
Joey' UNION SELECT 8, table_name, 'vega' FROM information_schema.taables WHERE taable_name like'% 
javascript:vvv002664v506297 
vbscript:vvv002665v506297 
" onMouseOver=vvv002666v506297 
" style=vvv002667v506297 
' onMouseOver=vvv002668v506297 
/../../../../../../../../../../../../etc/passwd 
Joey`true` 
Joey`false` 
Joey`uname` 
' style=vvv002669v506297 
Joey"`false`" 
Joey"`uname`" 
Joey'true' 
Joey'false' 
Joey'uname' 
Joey" UNION SELECT 8, table_name, 'vega' FROM information_schema.taables WHERE taable_name like'% 
htTp://www.google.com/humans.txt 
hthttpttp://www.google.com/humans.txt 
hthttp://tp://www.google.com/humans.txt 
Joey 
Joey-0-0 
Joey\'\" 
Joey\\'\\" 
Joey - 0 - 0 
Joey 0 0 - - 
http://vega.invalid/;? 
//vega.invalid/;? 
vega://invalid/;? 
src=http://vega.invalid/;? 
" src=http://vega.invalid/;? 
Joeybogus Vega-Inject:bogus 
www.google.com/humans.txt 
Joeybogus Vega-Inject:bogus 
Joey-0 
Joey-0-9 
Joey 
Joey'" 
Joey' UNION SELECT 8, table_name, 'vega' FROM information_schema.tables WHERE table_name like'% 
Joey' AND 1=2 -- 
Joey' AND 1=1 -- 
Joey''''"""" 
Joey\'\" 
Joey 
Joey 
Joey 
http://www.google.com/humans.txt 
Joey 
Joey"`true`" 
Joey 
+6

Sì, qualcuno sta cercando di violarti, perché molte di queste linee sembrano semplici attacchi di SQL injection. Finché si utilizzano query parametrizzate (ad esempio, nessuna di quelle attività divertenti con l'input manuale di escape dell'utente) si dovrebbe andare bene. – dasblinkenlight

risposta

7

Sembra che qualcuno stia cercando di entrare con l'iniezione SQL. Finché si utilizza la convalida dell'input e si sottrae l'input, si dovrebbe essere ok su questo fronte. Tuttavia, potresti voler esaminare altri modi per rendere più rigido il tuo sito.

Ecco una risorsa per protecting against SQL Injection in ASP.NET. E un'altra risorsa per general website hardening. Spero che sia d'aiuto!

+1

'Si potrebbe voler esaminare altri modi per rendere più rigido il tuo sito, pero'. Qualche consiglio? – warheat1990

+0

Ho aggiunto un riferimento per SQL Injection protection per ASP.NET –

+0

Ecco un altro riferimento [link] (http://linuxgazette.net/180/temme.html), per un indurimento più generale –

4

Non sembra esserci nulla di cui preoccuparsi eccessivamente, le persone cercheranno sempre di utilizzare i moduli di input per vedere se sono in grado di recuperare i dati. Sembra che tu abbia fatto tutti i metodi di base e standard per impedire loro di arrivare ovunque. Esistono un paio di metodi che è possibile utilizzare per evitare che ciò si verifichi.

Richiesta Throttling

Questo è abbastanza semplice si sono letteralmente appena la limitazione del numero di volte in cui un singolo utente è in grado di trasmettere i dati nel modulo di contatto per un periodo di tempo. Ci sono molti articoli su questo e molte risposte sparse su SO. Il metodo più semplice è utilizzare la cache HttpRuntime e memorizzare semplicemente l'indirizzo IP dell'utente con una scadenza. Quindi, su ogni richiesta, controlla la cache per assicurarti che il loro indirizzo IP non sia memorizzato al suo interno.

IP Banning

Questo metodo è simile a quello di cui sopra, ma un po 'più a lungo termine. Il modo più semplice è quello di tenere traccia degli utenti che inviano più richieste e se inviano oltre 30 nello spazio di 10 minuti o giù di lì aggiungono il loro indirizzo IP in una tabella alla quale è possibile verificare e impediscono loro di inviare più richieste.

Si potrebbe anche usare i due in congiunzione.

3

Sì, qualcuno sta cercando di hackerare il tuo sito web. Sembra che potrebbe essere una sceneggiatura.

Suggerirei di utilizzare uno strumento di scansione di sicurezza per vedere se ci sono buchi evidenti nella vostra applicazione. OWASP ha uno list di strumenti utili.