Pratite MySQL upite s mysqlsniffer na Ubuntu

Pratite MySQL upite s mysqlsniffer na Ubuntu
Pratite MySQL upite s mysqlsniffer na Ubuntu

Video: Pratite MySQL upite s mysqlsniffer na Ubuntu

Video: Pratite MySQL upite s mysqlsniffer na Ubuntu
Video: Python Web Apps with Flask by Ezra Zigmond - YouTube 2024, Travanj
Anonim

Imate poslužitelj za proizvodnu bazu podataka i ne možete omogućiti prijavljivanje upita … pa kako vidite upite koji se izvršavaju protiv baze podataka?

Odgovor: upotrijebite izmijenjeni njuškanje mreže kako biste analizirali MySQL pakete i dekodirali ih. Morat ćete malo napisati, ali to će biti vrijedno toga. Imajte na umu da to obično ne funkcionira za lokalne veze, iako vam je dobrodošlo.

Prvo, morate instalirati libpcap-dev, što je razvojna knjižnica koja aplikaciji omogućuje njuškanje mrežnih paketa.

sudo apt-get install libpcap-dev

Sada napravimo direktorij, preuzmi izvorni kod i sastavimo ga

mkdir mysqlsniffer

cd mysqlsniffer

wget hackmysql.com/code/mysqlsniffer.tgz

tar xvfz mysqlsniffer.tgz

gcc -O2 -lpcap -o mysqlsniffer mysqlsniffer.c packet_handlers.c misc.c

U ovom trenutku imamo sjajnu novu izvršnu datoteku pod nazivom mysqlsniffer u našem izvornom direktoriju. Možete ga kopirati gdje god želite (negdje na stazi bi bilo korisno)

Da biste pokrenuli mysqlsniffer, morate odrediti mrežno sučelje koje MySQL sluša. Za mene je eth0.

sudo /path/to/mysqlsniffer eth0

Puno stvari počinje letjeti … neka je filtrira malo više pa možemo samo dobiti upite, a ne sve prekomjerne podatke.

$ sudo /path/to/mysqlsniffer –no-mysql-hdrs eth0 | grep COM_QUERY

192.168.73.1.2622 > server: COM_QUERY: SELECT @@sql_mode 192.168.73.1.2622 > server: COM_QUERY: SET SESSION sql_mode=” 192.168.73.1.2622 > server: COM_QUERY: SET NAMES utf8 192.168.73.1.1636 > server: COM_QUERY: SELECT @@SQL_MODE 192.168.73.1.1636 > server: COM_QUERY: SHOW FULL COLUMNS FROM `db2842_howto`.`wp_users`

Ah, sad smo … sve vrste upita, bez ponovnog pokretanja MySQL-a.

Ovdje su pune mogućnosti za naredbu:

Upotreba: mysqlsniffer [OPTIONS] INTERFACE

OPCIJE: -Port N Slušajte MySQL na portu broj N (zadani 3306) -Verbose Prikaži dodatne informacije o paketima -Tcp-ctrl Prikaži TCP kontrolne pakete (SYN, FIN, RST, ACK) -Net-hdrs Prikaz glavnih vrijednosti IP i TCP zaglavlja -No-mysql-hdrs Ne prikazuj MySQL zaglavlje (paket ID i duljina) -State Prikaži stanje -V40 MySQL poslužitelj je verzija 4.0 -Dump Dump sve pakete u hex - pomoć Ispiši ovo

Izvorni izvorni kod i više informacija na: https://hackmysql.com/mysqlsniffer

Ako radite na razvojnom poslužitelju, lakše je uključiti samo zapisivanje upita.

Preporučeni: