Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Grsso problema con il mio sito in asp

    Salve a tutti, mi spiace farmi sentire solo quando trovo nuovi problemi ma tant`é oggi ho avuto 5 intrusioni sul database access del mio sito in asp come faccio a risolvere il problema?
    il sito utilizza il database per registrare utenti e pagamente e questo é un grosso problema. per me, spero mi possiate aiutare

  2. #2
    credo che le intrusioni siano avvenute sul mio pannello di admin
    del sito ma come é possibile?

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887

    Re: Grsso problema con il mio sito in asp

    Originariamente inviato da astro18
    Salve a tutti, mi spiace farmi sentire solo quando trovo nuovi problemi


    Che tipo di intrusioni intendi ?

  4. #4
    Potrebbero aver usato questa tecnica stranota se non ti sei difeso in modo opportuno...

    Sposta e rinomina il database dopo aver implementato i più comuni metodi di difesa suggeriti nell'articolo linkato... in questo modo l'intruso nono saprà più la locazione del database che, a quanto pare, adesso gli è nota e non avrà più modo di trovarlo per leggerne i tuoi dati di autenticazione e impersonarti nel ruolo di amministratore
    Dov'eri prima di nascere?

  5. #5
    Ciao grazie per le risposte, ma io uso un database access non sql, come faccio ad aumentarne la sicurezza?
    inoltre come faccio ad aumentare la sicurezza del mio pannello admin del sito .asp credo che si siano intrufolati da li sebbene ci voglia una pass per accedere al pannello del sito

  6. #6

    Re: Re: Grsso problema con il mio sito in asp

    Originariamente inviato da djciko


    Che tipo di intrusioni intendi ?
    in pratica alcuni utenti sono riusciti ad entrare nel mio pannello di admin del sito e ricaricarsi il proprio conto a scrocco, sebbene l'admin si protetto da password da cui si può accedere solo dal database(in formato access).... senza contare che hanno avuto accesso a tutti i dati degli utenti registrati

  7. #7
    Originariamente inviato da astro18
    Ciao grazie per le risposte, ma io uso un database access non sql, come faccio ad aumentarne la sicurezza?
    inoltre come faccio ad aumentare la sicurezza del mio pannello admin del sito .asp credo che si siano intrufolati da li sebbene ci voglia una pass per accedere al pannello del sito
    Quella tecnica, malgrado il nome, funziona anche e soprattutto su database Access...

    in pratica causano un errore immettendo una sintassi particolare in una tua textbox e questo errore rivela informazioni sul nome di una tabella, il nome del database, la sua posizione e così via... quando sanno la posizione del database lo scaricano, lo aprono, guardano i dati di accesso dell'admin, si loggano e si divertono... e questo è solo uno degli scenari possibili

    per questo ti consiglio di implementare una semplice difesa, consentire l'inserimento solo caratteri 'sicuri' nelle textbox... ad esempio solo lettere, numeri e il punto. Niente apici, niente simboli di minore e maggiore e così via.

    Fatto questo sposta e rinomina il database in modo che la sua nuova posizione non sia più nota all'intruso... potrebbe bastare
    Dov'eri prima di nascere?

  8. #8
    Originariamente inviato da TheFeco
    Quella tecnica, malgrado il nome, funziona anche e soprattutto su database Access...

    in pratica causano un errore immettendo una sintassi particolare in una tua textbox e questo errore rivela informazioni sul nome di una tabella, il nome del database, la sua posizione e così via... quando sanno la posizione del database lo scaricano, lo aprono, guardano i dati di accesso dell'admin, si loggano e si divertono... e questo è solo uno degli scenari possibili

    per questo ti consiglio di implementare una semplice difesa, consentire l'inserimento solo caratteri 'sicuri' nelle textbox... ad esempio solo lettere, numeri e il punto. Niente apici, niente simboli di minore e maggiore e così via.

    Fatto questo sposta e rinomina il database in modo che la sua nuova posizione non sia più nota all'intruso... potrebbe bastare
    Grazie per la spiegazione il database l'ho gia rinominato e spostato ora però come faccio a fare in modo che il textbox accetti solo caratteri sicuri? ad esempio nell'admin?

  9. #9
    Quì puoi fare due cose:
    - consentire l'input SOLO di caratteri sicuri
    - consentire qualsiasi input ed eliminare/sostituire i caratteri non sicuri

    Nel primo caso la cosa più efficace è usare le RegEx, questo è un'esempio di script ASP3.0:
    codice:
    <%
    Function InputCheck(stringa)
        Dim objRegExpr
        objRegExpr = New RegExp
        objRegExpr.Pattern = "^[a-zA-Z0-9._\s]{1,15}$"
        Dim colMatches
        colMatches = objRegExpr.Execute(stringa)
        InputCheck = colMatches.Count
    End Function
    
    UserName = "Sara O'Connor"
    
    if InputCheck(UserName) then
        Response.Write("Username valido")
    else
        Response.Write("Sono consentiti solo lettere, numeri, lo spazio, il punto e il trattino basso per una massimo di 15 caratteri!")
    end if
    %>
    ..e .NET:
    codice:
    <asp:RegularExpressionValidator ID="regexpName" runat="server"     
        ErrorMessage="
    Sono consentiti solo lettere, numeri, lo spazio, il punto e il trattino basso per una massimo di 15 caratteri!" 
        ControlToValidate="UserName"     
        ValidationExpression="^[a-zA-Z0-9._\s]{1,15}$" />

    Se cerchi in Google le parole "Regular Expression" troverai un sacco di guide introduttive... e spesso si trovano anche già pronte per validare indirizzi email, codici fiscali, carte di credito, etc.


    Nel secondo caso, invece, visto che lasci l'utente libero di inserire qualsiasi cosa, devi cercare e sostituire tutto quello che potrebbe essere dannoso... soprattutto gli apici:
    codice:
    'ASP 3.0
    UserName=replace(UserName, "'", "''") 
    '.NET
    UserName = UserName.replace("'", "''")
    Quando hai implementato le difese dovrai ri-rinominare e ri-spostare il database perchè finchè non è difeso è sempre possibile attaccarlo.

    Ti consiglio seriamente di non sottovalutare il problema e di non limitarti alle mie risposte perchè ti ho detto solo l'ABC del problema sicurezza... se studi il problema per un paio d'ore ti accorgerai di com'è facile hackerare un sito non protetto hostato su un server casereccio e imparerai anche a difenderti come si deve
    Dov'eri prima di nascere?

  10. #10
    Salve grazie per le informazioni, volevo solo chiederle ma il codice di verifica devo inserirlo nel modulo dove viene controllato l'username corretto? ad esempio dovrei modificare questo codice??

    <%

    strconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("/mdb-database/lb.mdb") & ";Persist Security Info=False"
    set cn= server.createobject("ADODB.connection")
    Set rsc = Server.CreateObject("ADODB.Recordset")
    cn.open strconn

    '***controllo nome utente
    sz_sql = "select * from utenti where utente = '" & request.form("txtUser") & "'"
    rsc.Open sz_sql, cn
    if not rsc.eof then
    response.redirect "../reg_ok.asp?id=ok"
    end if
    rsc.close
    '***controllo indirizzo mail
    sz_sql = "select * from utenti where email = '" & request.form("txtMail") & "'"
    rsc.Open sz_sql, cn
    if not rsc.eof then
    response.redirect "../error_reg.asp?id=mail"
    end if
    rsc.close
    if request.form("txtUser")="" or request.form("txtPwd") ="" or request.form("txtPwdCheck") ="" or request.form("txtMail") ="" or request.form("txtMailCheck") ="" or request.form("txtNome") ="" or request.form("txtCogn")="" or request.form("txtInd") ="" or request.form("txtCom") ="" or request.form("txtCap") ="" then
    response.redirect "../error_reg.asp?id=vuoti"
    end if
    if request.form("txtPwd") <> request.form("txtPwdCheck") then
    response.redirect "../error_reg.asp?id=pwd_check"
    end if
    if InStr(request.form("txtMail"),".")=0 or InStr(request.form("txtMail"),"@")=0 then
    response.redirect "../error_reg.asp?id=mail_novalida"
    end if
    if request.form("txtMail") <> request.form("txtMailCheck") then
    response.redirect "../error_reg.asp?id=mail_check"
    end if
    if len(request.form("txtPwd"))<6 then
    response.redirect "../error_reg.asp?id=pwd_len"
    end if


    '***creo codice attivazione
    Dim Limite
    Limite = 9999
    Randomize()
    codice1 = CInt((Limite - 1)*Rnd() + 1 )
    codice2 = CInt((Limite - 1)*Rnd() + 1 )
    codice3 = CInt((Limite - 1)*Rnd() + 1 )
    codice4 = CInt((Limite - 1)*Rnd() + 1 )
    codice_attivazione=codice & codice2 & codice3 & codice4

    '***inserisco dati
    sz_sql="insert into utenti (utente,pwd,codice_attivazione,email,nome,cognome, sesso,indirizzo,comune,provincia,cap,data_nascita, codice_fiscale,cellulare,Riferimento,data_reg) values "
    sz_sql= sz_sql & " ('" & request.form("txtUser") & "','" & request.form("txtPwd") & "','" & codice_attivazione & "','" & request.form("txtMail") & "','" & request.form("txtNome") & "','" & request.form("txtCogn") & "','" & request.form("optSesso") & "','" & request.form("txtInd") & "','" & request.form("txtCom") & "','" & request.form("optProv") & "','" & request.form("txtCap") & "','"
    sz_sql= sz_sql & request.form("optGG") & "-" & request.form("optMM") & "-" & request.form("optAA") & "','" & request.form("txtCF") & "','" & request.form("txtCel") & "','" & request.form("txtRif") & "','" & now() & "')"
    cn.execute (sz_sql)
    cn.close



    '*** invio mail
    invioA = request.form("txtMail")

    '* voce da modificare con un indirizzo email che funga da mittente:
    '* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON
    '* dato che cdosys supporta questa notifica

    invioDa = "h1gh@aste.prova"

    '------------fine modifiche necessarie------------------




    'email=Request.Form("email")
    'testo=Request.Form("testo")

    corpoMessaggio = "Hallo," & vbCrLf
    corpoMessaggio = "Benvenuto! La sua registrazione a BidNow.ch é quasi completa."& vbCrLf& vbCrLf
    corpoMessaggio = corpomessaggio & "hai ricevuto questa e-mail per completare la tua registrazione ad BidNow."& vbCrLf
    corpoMessaggio = corpomessaggio & "" & vbCrLf & vbCrLf
    corpoMessaggio = corpomessaggio & "Se non dovesse riuscire ad accedere direttamente cliccando sul link sottostante lo copi e lo incolli nel suo browser, la sua inscrizione sarà completata solo dopo che avrà confermato la sua email." & vbCrLf
    corpoMessaggio = corpomessaggio & "" & vbCrLf
    corpoMessaggio = corpomessaggio & "http://www.bidnow.ch/attiva_id.asp?codice=" & codice_attivazione & "."
    corpoMessaggio = corpomessaggio & "" & vbCrLf
    corpoMessaggio = corpomessaggio & "" & vbCrLf
    corpoMessaggio = corpomessaggio & " http://www.bidnow.ch/attiva_id.asp?codice=" & codice_attivazione & " "
    corpoMessaggio = corpomessaggio & "" & vbCrLf
    corpoMessaggio = corpomessaggio & "" & vbCrLf
    corpoMessaggio = corpomessaggio & "" & vbCrLf
    corpoMessaggio = corpomessaggio & "Facciamo questa verifica di autenticità e di proprietà del tuo indirizzo e-mail per garantire la tua privacy ed un uso corretto dei tuoi dati." & vbCrLf
    corpoMessaggio = corpomessaggio & "" & vbCrLf
    corpoMessaggio = corpomessaggio & "" & vbCrLf
    corpoMessaggio = corpomessaggio & "Buona navigazione e grazie per la fiducia!" & vbCrLf





    Set myMail=CreateObject("CDO.Message")

    myMail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
    myMail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver")="127.0.0.1"
    myMail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport")=8025
    myMail.Configuration.Fields.Update


    myMail.Subject="Anmeldung bei BidNow.ch abschließen"
    myMail.From="Bidnow@noreply.ch"
    myMail.To= invioA
    myMail.TextBody = corpoMessaggio
    myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing")=2
    'Name or IP of remote SMTP server
    myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") ="mail.bidking.it"
    'Server port
    myMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") =25
    myMail.Configuration.Fields.Update
    myMail.Send
    set myMail=nothing



    '.To = request.form("htmlMail")


    response.redirect "../reg_ok.asp?id=ok"


    %>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.