Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]lokalizacja skrypty otwierającego połaczenie
phpamator
post 8.09.2019, 22:41:44
Post #1





Grupa: Zarejestrowani
Postów: 321
Pomógł: 3
Dołączył: 10.07.2016
Skąd: UK-raine

Ostrzeżenie: (0%)
-----


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 ...

Ten post edytował phpamator 9.09.2019, 18:52:12
Go to the top of the page
+Quote Post
Pyton_000
post 10.09.2019, 13:25:50
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


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)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 18:25