Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ MySQL _ [MySQL]lokalizacja skrypty otwierającego połaczenie

Napisany przez: phpamator 8.09.2019, 22:41:44

Witajcie moi drodzy forumowicze.

Nadszedł dzień w którym znowu musiałem zasiąść do klawiatury aby zadać .... pytanie. Nie wiem czy mądre, nie wiem czy z sensem ale ....
jak mogę zlokalizować skrypt który np otwiera połączenie z bazą ale go nie zamyka albo czy jest jakaś możliwość zdiagnozowania skąd jakiś użytkownik wysyłą tony zapytań do bazy mysql ?
Napotkałem pewien problem który polega na tym, że coś ... zupełnie nieoczekiwanie zabija mi serwer. W mysql'u show processes pokazuje mi setki otwartych ze statusem sleep.
Podejrzewałem jakiś atak ale z logów nic takiego nie wynika, chyba, że ktoś już zdołał się włamać i z lokalnego atakuje czego też nie mogę w żaden sposób wyśledzić.
Wracając jednak do pytania, czy można określić/znaleźć jeśli to skrypt który albo jakie zapytanie
to robi ?

Pozdrawiam
amator

Update:
Dzisiaj szperając w kodzie znalazłem conajmniej dwie dziury które już załatałem bo deweloper (nie ja) napisał kod w taki sposób, że sql injection .... to pestka.
Nie wykluczone, że jest takich więcej ale nie starczyło dnia, żeby szukać.
Walczę dalej ...

Napisany przez: Pyton_000 10.09.2019, 13:25:50

full proceslist pokaże więcej informacji m.in IP skąd przychodzą połączenia do bazy.

Kolejna kwestia to jak napisany jest kod. Jakiś FW czy plain SQL i mysql_* czy coś więcej. W miejscu nawiązywania połączenia do bazy (mysql_connect) dodać logowanie do pliku stacktrace wraz z Server Request i przeszukiwać smile.gif Będzie tego duuużo ale to jedna ze skuteczniejszych metod.

Ew. sprawdzać jakie zapytania wchodzą. Możesz włączyć slow_log w Mysql ustawiając wartość na 0 (logowanie wszystkich zapytać) a potem takiego slowloga który waży powiedzmy 500MB przemielić przez `pt-query-digest` (albo podpiąć się tym pod processlist)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)