Omówiona przez nas luka w zabezpieczeniach była ostatecznym włączeniem i przyjrzeliśmy się dwóm typom włączania
plików lokalnych, co umożliwiło nam uwzględnienie dowolnego pliku w systemie, a następnie odczytanie plików, które spowodują
wystąpienie luki w zabezpieczeniach pliku.
A potem będziesz mógł odczytać dowolny plik na serwerze.
A potem przyjrzeliśmy się zdalnemu włączeniu pliku, co jest bardzo niebezpieczne, co pozwoliło nam dołączyć dowolny
plik z dowolnego serwera WWW.
Udało nam się włączyć półki BHB, a następnie uzyskać połączenie z komputera celu, aby temu zapobiec.
Przede wszystkim upewnij się, że zapobiegasz włamaniom na zdalne pliki.
Tak więc na wypadek, gdyby coś poszło nie tak, ludzie mogą dołączać pliki spoza twojego serwera i możesz to
zrobić w taki sam sposób, w jaki włączaliśmy go przy użyciu BHB tylko przez wyłączenie Zezwalaj sobie na otwarcie i zezwalaj na
to, co uwzględnię.
A jeśli pójdziemy tutaj na nasz stolik wystawowy, pokażę ci bardzo szybko.
Robimy więc pseudo Nano, który jest edytorem tekstowym, jest to czytnik strony PTG IPH.
Potrzebuję tego samego pliku, którego używamy.
To jest plik ustawień HP.
Jeśli otworzysz ten plik i mam zamiar kontrolować, będę szukał twojego ela, a ty upewnisz się, że Pozwól
sobie na otwarcie powiedział wyruszył i pozwól, aby twój zestaw również się wyłączył.
Control X Y i wejdź, a to zapiszesz za Ciebie.
Innym sposobem zapobiegania takim exploitom jest używanie statycznego włączania plików.
Zamiast więc korzystać z dynamicznego włączania plików, które widzimy, i możesz zakodować pliki, które chcesz uwzględnić w
kodzie i nie otrzymywać ich za pomocą GET lub POST.
Na przykład, co się dzieje i przykłady, które widzimy w przykładach podatnych na atak,
to strona o nazwie Strona lub indeks, którą BHP, a następnie ten indeks, który pobiera parametr zwany stroną, a następnie pobiera inną stronę,
na przykład wiadomość, że Ph. RE. i zawiera to nowości BHB w kodzie.
Więc jak wygląda kod w kodzie APHC, zobaczysz coś takiego.
Uwzględnij
Więc co to zrobi.
Zasadniczo wygląda to tak, jak sądzę.
Obejmuje to co przychodzi po parametrze strony.
Tak więc kod będzie dynamicznie pobierał wszystko, co nadejdzie po parametrze strony i umieszcza go na bieżącej
stronie.
To będzie na stronie indeksu.
Ok, to jest bardzo złe, ponieważ nawet jeśli nie dostaje się czasem, ludzie używają postu, a w poście nie
zobaczycie tego, więc zostanie on opublikowany.
Ale możesz użyć proxy, takiego jak proxy, i tak by wyglądało.
A potem możesz go zmodyfikować i włączyć do tego, co chcesz.
A następnie wyświetlana jest na stronie, na której naprawdę chcesz zrobić, to chcemy użyć lub nie móc
manipulować przy tym, co ma być zawarte.
Jeśli więc chciałbyś zamieścić stronę o nazwie news, którą BHB właśnie włączyło, nie dając
użytkownikowi możliwości jej zmiany, wiem, że zamierzasz zaprogramować swój kod tak, aby
wyglądał tak.
Ale użytkownicy, których znamy, widzą, jak użytkownicy mogą się z tym bawić i po prostu dodawać do nich wszystko, co
chcą.
Najlepszym sposobem na zrobienie tego jest dodanie strony do tej strony.
Twój kod nie używa żadnych zmiennych.
To jest mocno zakodowane.
Może to spowodować, że Twój kod LOEG będzie dłuższy, ale jest o wiele bezpieczniejszy.
I właśnie to zapewnia opcja wysokiego bezpieczeństwa.
Wróćmy więc najpierw do włamania do pliku.
I jesteśmy na niskim poziomie i jeśli zobaczę źródło, zobaczysz, że w zasadzie plik jest tym,
co przekazałeś, to plik, przez który przechodzimy tutaj w parametrze po stronie.
Widać, że próbuje wyświetlić wszystko, co my wysyłamy.
Kiedy wysyłamy to hasło ATC, pokazuje nam ono hasło ATC.
Teraz zamierzam zachować to otwarte i przejdę przez poziom bezpieczeństwa poprzez bezpieczeństwo
i zamierzam ustawić go na wysoki.
Teraz medium jest podobne do niskiego, więc możesz użyć tego samego, co możesz wykorzystać w taki sam sposób,
w jaki wykorzystaliśmy obciążenie.
A więc idziemy do najwyższego punktu, a my zobaczymy źródło i zamierzam to zminimalizować, ponieważ mają dwa
źródła, więc nie możemy ich porównać.
Tak więc, jak widać na niskim i średnim poziomie bezpieczeństwa, widać, że wszystko,
co przekażemy przez bardzo zmienną pliku, zostanie nam wyświetlone, podczas gdy tutaj, na wysokim poziomie
bezpieczeństwa, widać, że jest on mocno zakodowany, że jest zezwala nam tylko na pokazanie pliku włączającego, dzięki czemu można zmodyfikować to
polecenie if.
Jeśli masz wiele plików, które chcesz uwzględnić, możesz je tutaj zezwolić lub możesz je umieścić
na liście.
Ale w zasadzie jest to tylko zezwolenie na pliki, które użytkownik może zobaczyć.
Tak więc możesz po prostu mieć je na liście, możesz użyć instrukcji OR lub możesz po
prostu mieć listę i powiedzieć, czy plik znajduje się na tej liście, a następnie wyświetli inny błąd, mówiąc, że plik nie został znaleziony.
Unikaj tego za pomocą metody kodowanej na sztywno.
Tak, to nie wygląda tak pięknie, ale jest o wiele bezpieczniejsze.