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

    Secondo voi è hackabile ?

    Code della pagina per il login della parte amministratore:
    codice:
    <html>
    <head>
    	<title></title>
    <link rel="stylesheet" href="style.css" type="text/css">
    </head>
    
    <body background="graph/bg_page.jpg" topmargin="5" leftmargin="5" rightmargin="5" bottommargin="5">
    
    <div align="center">
    
    <table width="60%" align="center" cellpadding="2" cellspacing="3">
    <form action="adm_check.asp" method="post">
    <tr>
    	<td width="100%" colspan="2" align="center">Autenticazione Admin:</td>
    
    </tr>
    <tr>
    	<td width="35%" align="right">User:</td>
    	<td width="65%" align="left"><input type="text" name="adm_user" size="50"></td>
    </tr>
    <tr>
    	<td width="35%" align="right">Pass:</td>
    	<td width="65%" align="left"><input type="password" name="adm_pass" size="50"></td>
    </tr>
    <tr>
    	<td width="100%" colspan="2" align="center"><input type="reset" value="Reset" class="pulsanti"><input class="pulsanti" type="submit" name="subm" value="Entra"></td>
    
    </tr>
    </form></table>
    
    
    </div>
    </body>
    </html>
    code della pagina adm_check.asp
    codice:
    <%@ Language=VBscript %>
    <% Option explicit
       Response.buffer=true %>
    <html>
    <head>
    	<title>Check Admin - Hide Page</title>
    </head>
    
    
    <body>
    
    
    
    
    
    
    <%
    	Dim MySql_1, rs_1
    	set rs_1 = Server.createobject("ADODB.Recordset")
    	MySql_1 = " SELECT * FROM login WHERE user = '" & APICE(Request("adm_user")) & "' AND pswd = '" & APICE(request("adm_pass")) & "'"
       'response.write(mysql_1)
       rs_1.open MySql_1, Conn
       if ((rs_1.eof) and (rs_1.bof)) then %>
       
    
    <%
    Session("rst_adm") = FALSE %>
    <%  response.redirect("adm_login.asp")
    
       else %>
    
    <%
    Session("rst_adm") = TRUE
    '--- Log user into DB
    Dim SQLLog, data, ip
    ip = Request.servervariables("REMOTE_ADDR")
    response.write(ip)
    response.write(time())
    Dim orario
    orario = replace(Time(), ".", ":")
    'response.end
    data = DatePart("d", Date()) & "/" & DatePart("m",Date()) & "/" & DatePart("yyyy",Date())
    SQLLog = "INSERT INTO adminlog (UserName, TimeIn, DateIn, ip) VALUES ('" & Request("adm_user") & "', '" & orario & "', '" & data & "', '" & ip & "')"
    Conn.Execute(SQLLog)
    %> 
    
    <% 	response.redirect("admin/index.asp?azione=clean_it")
    
    	end if %>
    
    </body>
    </html>
    Code del controllo su ogni pagina protetta
    codice:
    <%@ Language=VBscript %>
    <%
    If Session("rst_adm") = FALSE or IsNull(Session("rst_adm"))  then
    	errore = "UTENTE NON RICONOSCIUTO"
    	'Redirect to unathorised user page
       response.redirect("../adm_login.asp")
    End If
    %>
    Il database è di tipo mysql hostato su aruba gestito da loro.
    Stanotte sono entrati con un ip Brasiliano (così dice shinystat). anche se non hanno fatto nulla non so darmi una spiegazione... un errore di asp ? un buco di msy ? o un genio del mondo hacker ?

    Che ne pensate ?

    grazie
    ciao
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  2. #2
    APICE sembrerebbe (almeno dal nome) una funzione che esegue un replace sulle variabili prevenendo cosi l'sql injection.

    Vero?

  3. #3
    funzione apice

    Function Apice(stringa)
    apice = Replace(stringa, "'", "''")
    end function

    serve per gli user che mettono un ' nel nome utente....
    altrimenti darebbe errore la query

    no ?
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  4. #4
    No, serve a tutelare il sistema da un "bug" di sql.

  5. #5
    ottimo,
    una sicurezza in più.

    per questo motivo non so come sia successo.... qualche idea ?

    la cosa strana è che nella tabella di login (dove ci sono gli utenti abilitati all'entrata) ci sono solo due nomi con le relative pswd, e sono : administrator e superuser.

    chi è entrato si è loggato con user 1

    abbiamo una tabella che logga gli amministratori che entrano con ip data e user.
    questo user non è nella tabella , come dicevo prima appunto....
    quindi ?

    grazie
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  6. #6
    Chiaramente la password non l'hai salvata, vero?

  7. #7
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Se non prevedi l'SQL INJECTION entrare è una sciocchezza.
    Fai qualche ricerca su google.

    Roby

  8. #8
    ok sono daccordo... ma come avrebbe fattoa a lasciare traccia nella tabella che uso per loggare gli amministratori ? e per di + con unsername che non esite...

    cosa si può fare senza prevedere questa SQL INJECTION ?

    Cioè è possibile avere accesso completo al db ?

    grazie
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

  9. #9
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Non ho capito...
    Se non usi la replace posso entrare tranquillamente indipendentemente dello user o della password che tu hai messo...
    Roby

  10. #10
    si ma per prevenire attacchi di SQL INJECTION ho messo una replace(stringa,"'",""") in modo da rendere innoquo il carattere apice no ?

    non va bene ?
    -------------------------
    ..::`DrUmM\n0`::..
    www.jonathandomenici.com

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 © 2025 vBulletin Solutions, Inc. All rights reserved.