Przesunięty przez: Woytec 08-01-2014, 20:31 |
1.12.7 - globalne zabezpieczenie przeciw w?amaniom |
Autor |
Wiadomość |
Przemo
Pomógł: 210 razy Posty: 3148
|
Wysłany: 31-01-2010, 14:25 1.12.7 - globalne zabezpieczenie przeciw włamaniom
|
|
|
W 1.12.7 będzie tez nowe globalne zabezpieczenie na wypadek gdyby kiedyś w przyszłości komuś jeszcze udało się znaleźć jakąś dziurę.
Gdyby to zabezpieczenie było wcześniej 90% dziur, które były w phpBB nie zadziałałyby.
Zabezpieczenie to powoduje, ze jeżeli w parametrze _GET znajdzie się "nieznany" ciąg znaków to mechanizm przerywa skrypt zwracając "Hacking attempt"
Jeśli chcecie to możecie już teraz u siebie na forum to szybko zainstalować, dodatkowo tez wersja, która tutaj podam wysyła email na adres ustawiony w polu "E-mail nadawcy" w konfiguracji forum. Docelowo nie będzie wysyłało maila.
Przez cala noc dostałem 100 emaili, większość to tak zwane skanery dziur, jednak zdarzają się i "ręczne" próby ataku.
Odradzam testowanie sprawdzanie jak to działa tutaj na przemo.org bo cale maski adresów IP z ręcznych ataków dodaje na serwerze do banlisty i nie wejdziecie już tutaj. Chyba, ze jest adres referowany, wtedy sprawdzam czy ktoś nie wstawił gdzieś takiego linka.
Otwórz common.php i znajdź: Kod: | $board_config['topics_per_page'] = ($board_config['topics_per_page'] < 1) ? '25' : $board_config['topics_per_page']; |
Powyżej tego wstaw: Kod: | if ( count($HTTP_GET_VARS) )
{
foreach($HTTP_GET_VARS as $key => $val)
{
if ( strlen($val) > 18 && !preg_match('#^[a-z0-9_ /+]*={0,2}$#i', $val) && $key != 'redirect' && $key != 'highlight' )
{
$txt = "Atak na zmienna: ".$key."\n\r";
$txt .= "Danymi: ".$val."\n\r";
$txt .= "Atak z IP: ".$HTTP_SERVER_VARS['REMOTE_ADDR']." HOST: ".gethostbyaddr($HTTP_SERVER_VARS['REMOTE_ADDR'])."\n\r";
$txt .= "Adres referer: ".$HTTP_SERVER_VARS['HTTP_REFERER']."\n\r";
mail($board_config['email_from'], 'Proba ataku na zmienna: '.$key, $txt);
die('Hacking attempt');
}
}
} |
Przetestować to możecie np. wchodząc na adres swojego forum dodając: /index.php?test=phpbb_root_path=http://test.test/test |
Ostatnio zmieniony przez Woytec 08-01-2014, 20:33, w całości zmieniany 2 razy |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
maminowiec
Pomógł: 551 razy Posty: 1729
|
Wysłany: 31-01-2010, 16:22
|
|
|
Przemo, można też takie zrobić do np POST itd
najlepiej jak by była konfiguracja z poziomu PA
ps a nie lepiej zamiast
Kod: | if ( count($HTTP_GET_VARS) ) |
dać
Kod: | if ( isset($HTTP_GET_VARS) ) |
albo empty
?? |
_________________ Ebooki do pobrania |
|
|
|
|
NX
zbanowany
Pomógł: 1 raz Posty: 7
|
Wysłany: 31-01-2010, 18:00
|
|
|
Czy to było testowane i rzeczywiście pomaga a nie szkodzi ? |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 31-01-2010, 19:18
|
|
|
gryzie się z seotags tylko |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
Przemo
Pomógł: 210 razy Posty: 3148
|
Wysłany: 31-01-2010, 19:44
|
|
|
NX, jasne, że nie szkodzi.
Polaczek, hmm, dobrze, że mówisz, ciekawe z jakimi jeszcze modami będzie się gryzło? |
|
|
|
|
Przemo
Pomógł: 210 razy Posty: 3148
|
Wysłany: 31-01-2010, 19:47
|
|
|
maminowiec, tak, dam isset()
Na POST sie nie da poniewaz POST'em leci duzo roznych rzeczy, nie sposob to wyłapać. |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 31-01-2010, 20:06
|
|
|
Przemo napisał/a: | ciekawe z jakimi jeszcze modami będzie się gryzło? |
check_files -> Sprawdzanie synchronizacji SQL -> Pierwszy i ostatni post w temacie
powodem jest duża nazwa w $_GET / $HTTP_GET_VARS |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
Przemo
Pomógł: 210 razy Posty: 3148
|
Wysłany: 31-01-2010, 20:58
|
|
|
Polaczek, dzieki, poprawilem, ze juz z tym działa. |
|
|
|
|
m@rcin...
Pomógł: 11 razy Posty: 213
|
|
|
|
|
Pico [Usunięty]
|
Wysłany: 31-01-2010, 22:19
|
|
|
Testowałem, to u siebie i zauważyłem, że wywala mi hacking attempt, gdy chcę sprawdzić wszystkie posty użytkownika, który w nicku ma polskie znaki. Da się coś z tym zrobić?
EDIT:
dodam jeszcze, że nick składa się z dwóch członów oddzielonych spacją |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 31-01-2010, 22:23
|
|
|
Pico, tak to dlatego, że duże nazwy w $_GET / $HTTP_GET_VARS (zdaje się, że większe niż 18) są blokowane i wywala "Hacking attempt".
Spróbuj
Kod: | if ( strlen($val) > 18 && !preg_match('#^[a-z0-9_ /+]*={0,2}$#i', $val) && $key != 'redirect' && $key != 'highlight' ) |
zamienić na
Kod: | if ( strlen($val) > 25 && !preg_match('#^[a-z0-9_ /+]*={0,2}$#i', $val) && $key != 'redirect' && $key != 'highlight' ) |
jak nie zadziała to coraz większą liczbę aż dojdziesz do kresu możliwości |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
Pico [Usunięty]
|
Wysłany: 31-01-2010, 22:25
|
|
|
działa, dzięki wielkie |
|
|
|
|
kamil_jk_87
Pomógł: 12 razy Posty: 123
|
Wysłany: 01-02-2010, 00:53
|
|
|
A byłaby możliwość dodania do panelu włączania i wyłączenia wysyłania wiadomości na e-mail ? |
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 01-02-2010, 01:34
|
|
|
Przecież jest. Konfiguracja >> Ogólne. |
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
Gadatliwa Kasia
|
|
|
|
Polaczek
Pomógł: 351 razy Posty: 2297
|
Wysłany: 01-02-2010, 01:38
|
|
|
Wielka rzecz usunąć linijkę kodu:
Kod: | mail($board_config['email_from'], 'Proba ataku na zmienna: '.$key, $txt); |
|
_________________ The Cephei Family
stuff 'n' stuff |
|
|
|
|
|