W moich aplikacjach internetowych .NET zwykle mam folder Skrypty, który zawiera wszystkie moje pliki JavaScript - obecnie jQuery, z okazjonalną biblioteką JavaScript jakiejś lub innej.Skrypt w folderze to usterka?
Używam skanowań luk w zabezpieczeniach na jednej z moich stron internetowych za pomocą skanera o nazwie Nexpose i poinformowano mnie, że folder Skrypty jest otwarty na świat - co oznacza, że nieuwierzytelnieni użytkownicy mogą pobrać pliki JavaScript zawarte w folderze i że jest krytyczną luką. Według Nexpose folder Skrypty powinien być ograniczony do zezwalania tylko na uwierzytelnionych użytkowników. Co prowadzi mnie do mojego pierwszego pytania.
Jak ograniczyć folder Skrypty tylko do uwierzytelnionych użytkowników? Próbowałem umieścić plik web.config w folderze Skrypty i odmawiając dostępu do wszystkich nieuwierzytelnionych użytkowników w ten sposób, ale to nie zadziałało. Sam mogłem to ustalić, ale przechodziłem na stronę logowania mojej witryny, ale nie logowałem się, a następnie wpisując https://mywebsite/scripts/menubar.js i na tyle, że pozwoliło mi to pobrać plik menubar.js.
Drugie pytanie - Dlaczego jest to usterka? Próbowałem zrozumieć moje możliwości, ale nie udało mi się w ogóle wymyślić. Czy jest to usterka, ponieważ Joe l33t h4x0r mógł wykryć różne biblioteki, z których korzystam, a następnie może wykorzystać znane exploity przeciwko nim?
Aktualizacja
przeważającej mierze odpowiedź wydaje się być to, że w żaden sposób nie powinny luka istnieje tylko dlatego, że js plik można otworzyć i przeczytać w przeglądarce klienta. Jedyną możliwą luką może być sytuacja, gdy programista używał pliku .js w pewien niepewny sposób (którego nie jestem).
Uzgodnione. * Nexpose * nie jest ostatecznym autorytetem w takich sprawach. –
To niekoniecznie jest prawdą, ostatni fragment o niczym się nie martwi. Jeśli twój serwer ma prawo do zapisu w katalogu, a ja go piszę, wpisz własny plik Javascript Woot4Moo, nikt nie będzie zadowolony, ani, co ważniejsze, żaden plik, który mogę oszukać serwer do pisania. – Woot4Moo
Na tym polega problem - Nexpose mówi mi, że to luka. Można by pomyśleć, że narzędzie do skanowania narażenia na atak będzie wiedzieć, czy coś naprawdę było luką w zabezpieczeniach, czy też nie. Jednak zdałem sobie sprawę, że może to nie być prawdą (co oznacza, że nie jest to luka) i uznałem, że zrobię dobry post na temat tego problemu. – Jagd