[gdrcd 5.6] errore log strano
[gdrcd 5.6] errore log strano postato il 15/01/2024 18:12:09 nel forum programmazione, open source e hosting
Premetto che nella mia land ho un log per tutti gli errori che passano dalla da gdrcd_error, ultimamente ho visto tantissimi di questi errori:
GDRCD ERROR QUERY:
SELECT *
FROM messaggi
WHERE destinatario = ''
AND destinatario_del = 0 AND tipo =999999.9 /**//**/uNiOn/**/AlL /**//**/sElEcT 0x393631353738343330312e39,0x393631353738343330322e39,0x393631353738343330332e39,0x393631353738343330342e39,0x393631353738343330352e39,0x393631353738343330362e39,0x393631353738343330372e39,0x393631353738343330382e39,0x393631353738343330392e39,0x39363135373834333031302e39,0x39363135373834333031312e39,0x39363135373834333031322e39,0x39363135373834333031332e39,0x39363135373834333031342e39,0x39363135373834333031352e39,0x39363135373834333031362e39,0x39363135373834333031372e39
ORDER BY spedito DESC LIMIT 0, 40
ERROR [1222]: The used SELECT statements have a different number of columns
FILE: /membri/testgdr1/pages/messages/index.inc.php - LINE: 20
mi viene da pensare che sia un'attacco di qualche tipo o sbaglio?
Pagine → 1
16/01/2024 00:02:43
Così ad occhio sembrerebbe qualche tentativo di SQL Injection creato da qualche tool di quelli che provano a fare tentativi automatizzati di iniezioni.
18/01/2024 09:10:28
E' quasi sicuramente un bot che tenta SQL Injection.
Visto che già "logghi" questi tentativi, ed essendo una pagina interna al gioco a cui è necessario accedere una una sessione aperta, ti consiglio i loggare anche l'utente che accede alla pagina in modo tale da individuare l'eventuale BOT.
In questo modo saprai che l'utente PIPPO ha tentato un azione non consentita.
Potrebbe anche essere un utente normalissimo che, senza saperlo, ha installato un estensione malevole che tenta queste incursioni. Se l'IP dell'utente viene da India, Cina ecc. è sicuramente un bot e dovresti risolvere bannado l'utente coinvolto. Se è invece un utente normale puoi provare a fargli disinstallare tutte le estensione del browser e magari consigliargli una scansione del PC per individuare eventuali malware.
18/01/2024 10:46:14
si grazie dei consigli è una cosa che metterò nei log
29/02/2024 09:44:19 e modificato da mangamonster il 29/02/2024 09:44:46
Ho messo nel log anche l'IP ma purtroppo non lo prende, rimane vuoto:
-------------IP:
-------- AUTORE ERRORE:
-----------INIZIO ERRORE IN DATA: 27/02/2024 05:17:16
GDRCD ERROR QUERY:
SELECT *
FROM messaggi
WHERE destinatario = ''
AND destinatario_del = 0 AND tipo =0\'test
ORDER BY spedito DESC LIMIT 0, 40
ERROR [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'test
ORDER BY spedito DESC LIMIT 0, 40' at line 4
-------------IP:
-------- AUTORE ERRORE:
-----------INIZIO ERRORE IN DATA: 27/02/2024 05:17:20
GDRCD ERROR QUERY:
SELECT *
FROM messaggi
WHERE destinatario = ''
AND destinatario_del = 0 AND tipo =0 if(1=1) waitfor delay \'0:0:3\'--
ORDER BY spedito DESC LIMIT 0, 40
ERROR [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if(1=1) waitfor delay \'0:0:3\'--
ORDER BY spedito DESC LIMIT 0, 40' at line 4
Consigli? su come posso provare a tracciare la cosa? che poi sempre nella tabella messaggi, dovrei criptare i dati?
29/02/2024 12:58:16 e modificato da blancks il 29/02/2024 12:59:44
mangamonster ha scritto: Ho messo nel log anche l'IP ma purtroppo non lo prende, rimane vuoto:
-------------IP:
-------- AUTORE ERRORE:
-----------INIZIO ERRORE IN DATA: 27/02/2024 05:17:16
GDRCD ERROR QUERY:
SELECT *
FROM messaggi
WHERE destinatario = ''
AND destinatario_del = 0 AND tipo =0\'test
ORDER BY spedito DESC LIMIT 0, 40
ERROR [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\'test
ORDER BY spedito DESC LIMIT 0, 40' at line 4
-------------IP:
-------- AUTORE ERRORE:
-----------INIZIO ERRORE IN DATA: 27/02/2024 05:17:20
GDRCD ERROR QUERY:
SELECT *
FROM messaggi
WHERE destinatario = ''
AND destinatario_del = 0 AND tipo =0 if(1=1) waitfor delay \'0:0:3\'--
ORDER BY spedito DESC LIMIT 0, 40
ERROR [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'if(1=1) waitfor delay \'0:0:3\'--
ORDER BY spedito DESC LIMIT 0, 40' at line 4
Consigli? su come posso provare a tracciare la cosa? che poi sempre nella tabella messaggi, dovrei criptare i dati?
Questi mi sembrano tentativi di injection abbastanza seri visto che sono riusciti tecnicamente.
Questi nei logs sono falliti solo per la presenza degli apostrofi, ma con injection che non ne fanno uso (e non ci sono ragioni per supporre che non siano state provate) la query non va in errore, funziona ed è pericolosissima.
E' sempre la stessa perché l'attaccante ha capito che in quella pagina hai quella specifica query che riceve input non validati bene. Quindi la prima cosa che devi fare è di migliorare la validazione dei parametri di quella specifica query, forzando il valore di "tipo" ad essere un numero intero oppure contornandolo con degli apostrofi, in questo modo a mysql eventuali injection arrivano come stringhe visto che gli apostrofi finiscono con un backslash.
Per quanto riguarda l'ip probabilmente hai sbagliato qualcosa, l'ip utente lo trovi in questa variabile:
$_SERVER['REMOTE_ADDR']
Discussione seguita da
Pagine → 1
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!
Neverness to Everness ↗
Exclusive Villa GdR ↗
Foundation Galactic Frontier ↗
Project Entropy ↗
Imperion ↗