Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-01-2013, 22:42   #1
Taz83
Senior Member
 
L'Avatar di Taz83
 
Iscritto dal: Dec 2002
Città: Italia
Messaggi: 12363
Modificare una generica query aggiungendo o rimuovendo informazioni

Ho la necessità per ricerca, di implementare un qualche genere di strato INVISIBILE che intercetti le query sql rivolte ad un database (dbms) e che, a seconda di alcuni parametri interni, aggiunga o rimuova informazioni dalla query originale e alla risposta che il server fornisce alla query.

Esempio banale: query che chiede lo stipendio dell'utente pippo. Il layer intercetta la risposta del dbms e, se a richiedere le informazioni è stato l'utente pluto, deve far ritornare uno stipendio composto di soli 00000.

Ovviamente se potevo mettere il controllo direttamente lato server non esisteva neanche il problema

Qualche suggerimento su come implementare il tutto, esiste qualcosa di già pronto, magari opensource?

Vorrei evitare di scrivere tutto il layer tra utente e dbms a mano..

Grazie mille a chiunque volesse aiutarmi.
__________________
Vendo Canon 80D + Sigma 17-70mm f/2.8-4 DC OS HSM Macro C

Ultima modifica di Taz83 : 25-01-2013 alle 08:36.
Taz83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 06:54   #2
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
intendi che vuoi intercettare i pacchetti diretti verso un dbms e quindi modificare il loro contenuto ?

Ultima modifica di misterx : 25-01-2013 alle 06:56.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 07:39   #3
Taz83
Senior Member
 
L'Avatar di Taz83
 
Iscritto dal: Dec 2002
Città: Italia
Messaggi: 12363
Quote:
Originariamente inviato da misterx Guarda i messaggi
intendi che vuoi intercettare i pacchetti diretti verso un dbms e quindi modificare il loro contenuto ?
ciao, se intercettando i pacchetti da e per il dbms posso estrapolare la query SQL e la riposta e modificarli allora si.
__________________
Vendo Canon 80D + Sigma 17-70mm f/2.8-4 DC OS HSM Macro C
Taz83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 08:10   #4
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
non ho capito se puoi mettere le mani sul server e quindi ne sei l'amministratore oppure se devi simulare un attacco
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 08:32   #5
Taz83
Senior Member
 
L'Avatar di Taz83
 
Iscritto dal: Dec 2002
Città: Italia
Messaggi: 12363
Quote:
Originariamente inviato da misterx Guarda i messaggi
non ho capito se puoi mettere le mani sul server e quindi ne sei l'amministratore oppure se devi simulare un attacco
non mi sono spiegato benissimo, colpa mia hai ragione.. servirebbero pagine e pagine per entrare nei dettagli purtroppo

ho proprio bisogno di lasciare il server e rispettivo database/dbms cosi come sono, senza modifiche e sviluppare uno strato esterno tra utente e server che intercetti query e risposte e se necessario le modifichi in modo trasparente.
__________________
Vendo Canon 80D + Sigma 17-70mm f/2.8-4 DC OS HSM Macro C
Taz83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 08:37   #6
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da Taz83 Guarda i messaggi
non mi sono spiegato benissimo, colpa mia hai ragione.. servirebbero pagine e pagine per entrare nei dettagli purtroppo

ho proprio bisogno di lasciare il server e rispettivo database/dbms cosi come sono, senza modifiche e sviluppare uno strato esterno tra utente e server che intercetti query e risposte e se necessario le modifichi in modo trasparente.
quindi sniffando pacchetti sulla rete giusto?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 08:38   #7
Taz83
Senior Member
 
L'Avatar di Taz83
 
Iscritto dal: Dec 2002
Città: Italia
Messaggi: 12363
Quote:
Originariamente inviato da misterx Guarda i messaggi
quindi sniffando pacchetti sulla rete giusto?
sniffare diciamo che richiama un'azione illegale.. qui il software da sviluppare è legale ma deve essere invisibile ad utente e server..
__________________
Vendo Canon 80D + Sigma 17-70mm f/2.8-4 DC OS HSM Macro C
Taz83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 08:40   #8
The_ouroboros
Senior Member
 
L'Avatar di The_ouroboros
 
Iscritto dal: May 2007
Città: Milano
Messaggi: 7103
Modificare pacchetti tcp e legalità sono soggetti che non vanno sempre a braccietto

Inviato dal mio HUAWEI U8825-1 con Tapatalk 2
__________________
Apple Watch Ultra + iPhone 15 Pro Max + Rog Ally + Legion Go
The_ouroboros è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 08:43   #9
Taz83
Senior Member
 
L'Avatar di Taz83
 
Iscritto dal: Dec 2002
Città: Italia
Messaggi: 12363
Quote:
Originariamente inviato da The_ouroboros Guarda i messaggi
Modificare pacchetti tcp e legalità sono soggetti che non vanno sempre a braccietto

Inviato dal mio HUAWEI U8825-1 con Tapatalk 2
non deve per forza essere a livello di rete e tcp..

lo strato potrebbe intercettare direttamente la query sul pc dell'utente ad alto livello.
__________________
Vendo Canon 80D + Sigma 17-70mm f/2.8-4 DC OS HSM Macro C
Taz83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 08:49   #10
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
è passato un pò di tempo da quando ho avuto una necessità simile, ma credo che tu debba indagare come del resto avevo fatto io sugli hook di windows. Vado a memoria, devi usare funzioni del tipo GetMessage() et simila e poi comportanti di conseguenza. Poi devi implementare una tua libreria di collegamento.
Mi ricordo che non era troppo banale come genere di programmazione.

Ultima modifica di misterx : 25-01-2013 alle 08:53.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 09:57   #11
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da misterx Guarda i messaggi
è passato un pò di tempo da quando ho avuto una necessità simile, ma credo che tu debba indagare come del resto avevo fatto io sugli hook di windows. Vado a memoria, devi usare funzioni del tipo GetMessage() et simila e poi comportanti di conseguenza. Poi devi implementare una tua libreria di collegamento.
Mi ricordo che non era troppo banale come genere di programmazione.
In questo caso la cosa è molto più complicata.
Non bastano i tradizionali hook.
Per intercettare sul client le comunicazioni bisogna andare ad eseguire l'hook su api di sistema di send e receive su socket e modificarne il contenuto che queste ricevono o ritornano.
Il problema è che ogni DBMS ha il proprio protocollo di comunicazione generalmente binario (es SqlServer usa TDS) e, non ne conosco i dettagli, probabilmente bisognerà avere una libreria per rigenerare un pacchetto valido, perchè non è sicuramente sufficiente andare a modificare il contenuto ci saranno anche CRC o altro per controllare che il pacchetto sia valido.
Infine l'output anche lì bisogna spulciare il protocollo di comunicazione e andare a cambiare dei dati ma rigenerando un pacchetto valido.

Mi sembra una operazione troppo complessa da realizzare, tale da rendere l'hook delle api di windows la parte più facile...
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 10:01   #12
Taz83
Senior Member
 
L'Avatar di Taz83
 
Iscritto dal: Dec 2002
Città: Italia
Messaggi: 12363
Quote:
Originariamente inviato da tomminno Guarda i messaggi
In questo caso la cosa è molto più complicata.
Non bastano i tradizionali hook.
Per intercettare sul client le comunicazioni bisogna andare ad eseguire l'hook su api di sistema di send e receive su socket e modificarne il contenuto che queste ricevono o ritornano.
Il problema è che ogni DBMS ha il proprio protocollo di comunicazione generalmente binario (es SqlServer usa TDS) e, non ne conosco i dettagli, probabilmente bisognerà avere una libreria per rigenerare un pacchetto valido, perchè non è sicuramente sufficiente andare a modificare il contenuto ci saranno anche CRC o altro per controllare che il pacchetto sia valido.
Infine l'output anche lì bisogna spulciare il protocollo di comunicazione e andare a cambiare dei dati ma rigenerando un pacchetto valido.

Mi sembra una operazione troppo complessa da realizzare, tale da rendere l'hook delle api di windows la parte più facile...
e non è neanche il fine ultimo.. il layer sarebbe solo per testare un altro programma ancora.. praticamente impiegherei più a realizzare il layer che il programma vero e proprio..

dannata tesi phd...
__________________
Vendo Canon 80D + Sigma 17-70mm f/2.8-4 DC OS HSM Macro C
Taz83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 10:08   #13
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da tomminno Guarda i messaggi
In questo caso la cosa è molto più complicata.
Non bastano i tradizionali hook.
Per intercettare sul client le comunicazioni bisogna andare ad eseguire l'hook su api di sistema di send e receive su socket e modificarne il contenuto che queste ricevono o ritornano.
Il problema è che ogni DBMS ha il proprio protocollo di comunicazione generalmente binario (es SqlServer usa TDS) e, non ne conosco i dettagli, probabilmente bisognerà avere una libreria per rigenerare un pacchetto valido, perchè non è sicuramente sufficiente andare a modificare il contenuto ci saranno anche CRC o altro per controllare che il pacchetto sia valido.
Infine l'output anche lì bisogna spulciare il protocollo di comunicazione e andare a cambiare dei dati ma rigenerando un pacchetto valido.

Mi sembra una operazione troppo complessa da realizzare, tale da rendere l'hook delle api di windows la parte più facile...
infatti mi ricordavo che non era affatto banale; sto guardando i miei sorgenti di quando avevo iniziato a studiare questa parte di windows che mi serviva e risalgono al 2002, quanto tempo.
Comporta la conoscenza di windows a basso livello. Io mi ero fermato ad intercettare qualche messaggio. Peccato che all'uni insegnino Minix in luogo di Windows

Lascio un link per chi lo desidera in modo che si sappia su cosa va a sbattere: http://pasotech.altervista.org/delphi/articolo60.htm
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 13:03   #14
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da misterx Guarda i messaggi
infatti mi ricordavo che non era affatto banale; sto guardando i miei sorgenti di quando avevo iniziato a studiare questa parte di windows che mi serviva e risalgono al 2002, quanto tempo.
Comporta la conoscenza di windows a basso livello. Io mi ero fermato ad intercettare qualche messaggio. Peccato che all'uni insegnino Minix in luogo di Windows

Lascio un link per chi lo desidera in modo che si sappia su cosa va a sbattere: http://pasotech.altervista.org/delphi/articolo60.htm
Le cose da Vista in poi si sono complicate ulteriormente le tecniche di hooking che funzionano su XP non funzionano più su Vista (e successivi).

Tra l'altro poi c'è sempre il rischio di essere sgamati da un antivirus
Il progetto che avevo realizzato qualche anno fa, ancora non viene beccato da nessun antivirus di quelli installati dai clienti
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 13:20   #15
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Le cose da Vista in poi si sono complicate ulteriormente le tecniche di hooking che funzionano su XP non funzionano più su Vista (e successivi).

Tra l'altro poi c'è sempre il rischio di essere sgamati da un antivirus
Il progetto che avevo realizzato qualche anno fa, ancora non viene beccato da nessun antivirus di quelli installati dai clienti
questa è una brutta notizia....

Questo 3D mi ha fatto comprendere che di questo argomento non mi ricordo più un tubo e ne avevo discusso proprio qui nel 2002

Per chi si vuole divertire http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 13:38   #16
Taz83
Senior Member
 
L'Avatar di Taz83
 
Iscritto dal: Dec 2002
Città: Italia
Messaggi: 12363
ok grazie veramente a tutti...

mi rassegno e cerco altri modi..
__________________
Vendo Canon 80D + Sigma 17-70mm f/2.8-4 DC OS HSM Macro C
Taz83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 14:31   #17
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Taz83 Guarda i messaggi
ok grazie veramente a tutti...

mi rassegno e cerco altri modi..
Secondo me il modo corretto di procedere è utilizzare i permessi utenti lato server.
Ogni altro tentativo è una inutile complicazione che può smettere di funzionare da un momento all'altro.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 14:33   #18
Taz83
Senior Member
 
L'Avatar di Taz83
 
Iscritto dal: Dec 2002
Città: Italia
Messaggi: 12363
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Secondo me il modo corretto di procedere è utilizzare i permessi utenti lato server.
Ogni altro tentativo è una inutile complicazione che può smettere di funzionare da un momento all'altro.
sono un ricercatore non un programmatore, potresti cortesemente darmi una ditta piu' precisa?

grazie veramente.
__________________
Vendo Canon 80D + Sigma 17-70mm f/2.8-4 DC OS HSM Macro C
Taz83 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 14:53   #19
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3741
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Secondo me il modo corretto di procedere è utilizzare i permessi utenti lato server.
Ogni altro tentativo è una inutile complicazione che può smettere di funzionare da un momento all'altro.

oppure i trigger sul database?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2013, 17:45   #20
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da Taz83 Guarda i messaggi
sono un ricercatore non un programmatore, potresti cortesemente darmi una ditta piu' precisa?

grazie veramente.
Beh con i permessi puoi stabilire che un utente non abbia accesso ad una tabella ma solo ad una vista che nasconde quella determinata colonna (oppure che ci mette 0 direttamente come valore), questo però dipende dal livello di controllo che hai sull'intero sistema.

Non capisco ad esempio perchè non potresti scrivere un layer costituito da Webservice con cui il software si interfaccia per accedere al db, a quel punto sul Webservice applichi tutte le logiche del caso.

Generalmente si fa così, evitando l'accesso diretto ai client verso il db. Tra l'altro è anche meglio dal punto di vista della sicurezza perchè hai un unico punto di accesso al Db (la macchina dove c'è il Ws).
tomminno è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
Cowboy Space Corp. presenta il suo razzo...
Per NetSuite il vantaggio nell'IA sta ne...
Scoperta la zona d'origine del segnale W...
La Stazione Spaziale Internazionale cont...
La Difesa statunitense ha pubblicato la ...
vivo X500 Pro e Pro Max ufficiali: tanta...
iOS 27.2: l'iPhone chiede ai numeri scon...
Final Cut Pro integra MotionVFX e Apple ...
iMac M6 da 1.829 euro, MacBook Pro 14 M6...
RayNeo GT a 313,65€ su Amazon: occhiali ...
NVIDIA e Meta: 3 miliardi di dollari e p...
PHP2Shell: sfruttate attivamente le due ...
Raffreddamento passivo senza elettricità...
La deforestazione in Amazzonia crolla a ...
La luce del sole a mezzanotte, ecco come...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:06.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v