Forum 

Forum AspNuke.it - Il tuo Portale OpenSource in ASP

ATTENZIONE AI BUG !!

Autore Messaggio
reck

Amatore
Amatore
41 Discussioni



Profilo - reck
13 febbraio 2004 alle 18:18:10 Profilo - reckInvia un messaggio privato Rispondi quotando
Modificato il 13 febbraio 2004 alle 23:25:21

E' importante!!!!
ieri il mio sito con aspnuke 1.2 è stato attaccato,
hanno inserito news nel sito loggandosi come amministratore.
Ho subito bloccato il sito (che ora è offline) per cercare di capire come avessero fatto, non si tratta di sicurezza password o sicurezza database, access o sicurezza server, ma è un bag enorme in aspnuke, ma non solo in aspnuke ma in molti portali anche in php e mysql-
mi è bastato una mattinata per indagare ed ho scoperto che Aspnuke è facilmente attaccabile conn SQL injection !!
SQL injection non è un programma ma è una tecnica di attacco utilizzando l'SQL e sfruttando eventuali bug nelle costruzioni delle interrogazioni sql ai database.
volete una dimostrazione su quanto stò dicendo e quanto mi è capitato sia vero?
andate sul vostro sito aspnuke e digitate questa url:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
(rimossa x non creare problemi)
al posto del dominio e della cartella inserite il vostro sito e al posto di NICK l'userid dell'amministratore, riceverete un messaggio di errore, ma analizzatelo attentamente, c'è la password dell'amministratore e con quella è possibile fare di tutto.
Almeno sul mio sito appare.(anzi appariva perchè l'ho messo offline)
ora dico io : di questo fatto ne siete a conoscenza? credo proprio di si perchè su questo sito non funziona, e se sì perchè non lo comunicate in pompa magna a tutti?
io nell'area download non ho trovato alcuna pach sulla sicurezza.
posso sapere il vostro parere al riguardo?
e come possiamo fare per proteggerci?



---------------
-----------------
[lo] Reck [lo]
-----------------
Mas245

Principiante
Principiante
20 Discussioni



Profilo - Mas245
13 febbraio 2004 alle 19:05:15 Profilo - Mas245Invia un messaggio privato Rispondi quotando
in includes/addurl-inc.asp

sURL = Trim(sURL)
sURL = Replace(sURL,"'","''")

prima di questa strina
Set oCn = DBConnexion(DB_MAIN)
romolo

Avanzato
Avanzato
125 Discussioni



Profilo - romolo
13 febbraio 2004 alle 19:13:38 Profilo - romoloInvia un messaggio privato romolo@virgilio.it Rispondi quotando
I nuke hanno problemi comuni...lo stesso prob lo si trova su phpnuke etc.. solo che sono a versioni piu' avanzate e quindi magari hanno qualche esperienza in piu'. mettici ora che aspnuke è diventato molto utilizzato..... quindi... oggetto di studio :s !!

cmq l'unico rimprovero è che sul sito ufficiale in versione inglese il problema è stato trattato in modo approfondito e quindi una patch di sicurezza di sicuro sarebbe stata gradita.. :~(

cmq ti riporto di seguito una delle soluzioni...scritto da un mio amiketto...praticamente oltre a proteggerti riesce a loggare il malintenzionato con la stringa!!

' ************************************************************************
%>
<%
' Add URL or update its hits
' IN : sURL (string) : URL of the website (table urls, field sURL)
' OUT : -
Sub AddURL(sURL)
Dim oCn, oRs, rSQL, sRequestedURL

sRequestedURL = sURL
sURL = LCase(sURL)
Set oCn = DBConnexion(DB_MAIN)

If InStr(sURL, "'") > 0 Then 'Sono presenti degli apici nell'url (sql injection ??!!!)
sRequestedURL = "Default.asp"
'Mi salvo in tabella (URLS) la stringa incriminata e l'ip della persona.
'Se invece non voglio scrivere nulla nella tabella basta commentare le 2 righe seguenti
rSQL = "INSERT INTO urls (uTitle, uURL, uHits) VALUES ('Probabile Attacco da Ip: " & sIP & "' , '" & SQLEncrypt(sURL) & "', 1)"
DBExecute oCn, rSQL
else
rSQL = "SELECT uID, uHits FROM urls WHERE uURL = '" & sURL & "'"

Set oRs = DBRecordSet(oCn, rSQL)

If Not oRs.EOF Then
rSQL = "UPDATE urls SET uHits=" & (oRs("uHits") + 1) & " WHERE uID=" & oRs("uID")
DBExecute oCn, rSQL
Else
Dim tURL, sURLName
sURLName = Replace(sURL, "http://", "")
sURLName = Replace(sURL, "ftp://", "")
tURL = Split(Mid(sURL,8), "/")
sURLName = tURL(0)
tURL = Split(sURLName, ".")
If UBound(tURL) < 2 Then
sURLName = tURL(0)
Else
sURLName = tURL(1)
End If
sURLName = UCase(Left(sURLName, 1)) & Mid(sURLName, 2)

'Modifica per permettere l'inserimento di un nuovo link solo all'amministratore
If sURLName <> "" then
if IsAuthorized(ROLE_ADMIN) Then
rSQL = "INSERT INTO urls (uTitle, uURL, uHits) VALUES ('" & sURLName & "', '" & SQLEncrypt(sURL) & "', 1)"
DBExecute oCn, rSQL
End If
Else
sRequestedURL = "Default.asp"
End If
End If
End If

oCn.Close
Set oCn = Nothing
Set oRs = Nothing

Set oLangXML = Nothing
Response.Redirect sRequestedURL
End Sub
%>
'File modificato da Satup'



un salutone

romolo
---------------
http://www.romolopomaretti.it

incontrami in questo spazio senza margine
nel fondo del display che fa da argine
a cento secoli volati via come vertigine
qualcuno schiacciò play e fu l'origine
chissà se il cosmo chiuso dentro le tre doppie vu
è verosimile o è un facsimile
quando sembra di viaggiare e invece resti immobile
tra i totem e i tabù dell'impossibile ma
io che mi muovo qui
io oltre frontiera
io solo in zona straniera
sono io fermo alla tastiera
ogni sera schermo di vita vera o chimera
di essere laggiù là dove non mi trovo
e non so più come trovare dove
adesso vivi tu
che forse sei in ascolto
reck

Amatore
Amatore
41 Discussioni



Profilo - reck
13 febbraio 2004 alle 20:59:42 Profilo - reckInvia un messaggio privato Rispondi quotando
ciao romolo sei stato gentilissimo, e lo script che ho già provveduto a sostituire all'originale funziona alla grande, specialmente perchè memorizza anche la stringa utilizzata e l'IP di chi ha operato!!!

>cmq l'unico rimprovero è che sul sito ufficiale in
>versione inglese il problema è stato trattato in modo
>approfondito e quindi una patch di sicurezza di sicuro
>sarebbe stata gradita..

su questo concordo pienamente con te!
ed un suggerimento a aspnuke.it inserite subito questa
pech nes sito!!! è importantissimo!!!


comunque, leggendo le potenzialità della tecnica SQL Injection, a questo punto mi sorge spontanea una domanda domando: ma realmente gotourl.asp è l'unico file attaccabile e da modificare??
non potrebbero esserci altri file in aspnuke dove possono
agire?
bisognerebbe cotrollare tutti i file che lanciano le query al database per vedere se sono attaccabili con l'apice maledetto aggiunto alla fine della query?

---------------
-----------------
[lo] Reck [lo]
-----------------
djveleno

Amministratore

Esperto
Esperto
1025 Discussioni



Profilo - djveleno
13 febbraio 2004 alle 21:54:27 Profilo - djvelenoInvia un messaggio privato Rispondi quotando
In teoria, tutti i files dove viene richiesta una stringa SQL sono attaccabili, gotourl è solo un mezzo per arrivare ad un altro file, il vero tallone di Achille, sono i controlli sugli apici o, sulla lunghezza delle stringhe, perchè, se imposta una stringa a, ipotesi, 20 caratteri, non è più possibile usare gotoUrl, che ne richiede sicuramente molti di più, putroppo, devo dirti che, questi rimedi, sono in definitiva solo dei palliativi, in quanto, se un HACKER (maiuscolo) vuole entrare nel portale, ci entra e basta!!! Chi si diverte a bucare portali come quelli costruiti con AspNuke, non sono certo Hacker, ma, Cracker in fase di pratica o peggio ancora dei Lamer che non hanno un c...o da fare tutto il giorno, per cui, va bene la patch, sia la prima che la seconda.
Per quanto riguarda l'informazione, ti do ampiamente ragione, sia noi che Gaetan di AspNuke.com, in questa versione abbiamo mancato un pò, noi come comunità italiana, per inesperienza, ma, come sai, l'esperienza la si fa sul campo, come è successo a PHPNUKE in tanti anni di presenza in rete, credo che alcuni di questi problemi, con la nuova versione, saranno risolti.
Ciauzz DJ
---------------
A lavare la testa ai somari, ci si rimette l'acqua e il sapone!

http://aspnuke208.somee.com/Default.asp

dzjivas

Avanzato
Avanzato
160 Discussioni



Profilo - dzjivas
13 febbraio 2004 alle 22:04:17 Profilo - dzjivasInvia un messaggio privato Rispondi quotando
Grazie, applicate entrambe... mmmmmhh... però non ho capito alcune cose...
1) dopo aver applicato quella di romolo e riprovato con la url suggerita da reck mi rimanda alla pagina del sito default.asp...
2) dove viene memorizzato la stringa utilizzata e l'IP di chi ha operato???
3) dopo aver inserito nell'includes/addurl-inc.asp anche la patch di Mas245 e riprovando l'url suggerito mi dà questo
'File modificato da Satup'
LANG_SQL_ERROR
LANG_SQL_ERROR
ADODB.Connection error '800a0e78'

Operation is not allowed when the object is closed.

/plr/includes/addurl-inc.asp, line 68

cosa è giusto????

Bye 8)

---------------
Dzjivas
http://www.prolocorescaldina.it
Mas245

Principiante
Principiante
20 Discussioni



Profilo - Mas245
13 febbraio 2004 alle 22:24:36 Profilo - Mas245Invia un messaggio privato Rispondi quotando
quella che ho postato io serve solo ad ovviare la sql injection del file gotourl.asp dato che dopo l'attacco di ieri sera ed il defacement ho voluto capire come sono entrati.
cmq mettine uno o l'altra
djveleno

Amministratore

Esperto
Esperto
1025 Discussioni



Profilo - djveleno
13 febbraio 2004 alle 22:27:03 Profilo - djvelenoInvia un messaggio privato Rispondi quotando
PER RECK, CANCELLA SUBITO QUELLA STRINGA DAL POST, NON E' CORRETTO LASCIARE UN OGGETTO COSI' PERICOLOSO ALLA PORTATA DI TUTTI!!!!
Ciauzz DJ
---------------
A lavare la testa ai somari, ci si rimette l'acqua e il sapone!

http://aspnuke208.somee.com/Default.asp

emu

Moderatore

Esperto
Esperto
1714 Discussioni



Profilo - emu
13 febbraio 2004 alle 22:28:54 Profilo - emuInvia un messaggio privato Rispondi quotando
La patch di romolo e' sufficiente a proteggere la gotourl.asp da questo specifico attacco, ed i tentativi di crack li trovi nell'amministrazione dei links.
Ciao
---------------
development@aspnuke.it
INVY

Avanzato
Avanzato
149 Discussioni



Profilo - INVY
13 febbraio 2004 alle 22:55:27 Profilo - INVYInvia un messaggio privato Rispondi quotando
Consiglio di cancellare con urgenza la stringa che permette un agevole attacco SQL injection.


---------------
INVY
http://www.cyberspazio.org
http://www.cyberspazio.eu
http://www.informaticalibri.it
http://www.fotolibri.it
http://www.invy.net
------------------
Un lungo cammino inizia sempre con il primo passo.
 1  2  3  >>

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 225
Membri : 0 offline Anna

Iscritti

 Utenti: 18940
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2210 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 558 Notizie: 180 Sondaggi: 11 Preferiti: 5685543 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi