Tomasz Chiliński

Results 170 comments of Tomasz Chiliński

Od strony JS, a konkretnie jQuery jest to banalnie proste - `.text()`.

Przy zapisie pól informacji, notatek, wiadomości i notatki na dokumencie w kartotece klienta również są już usuwane niebezpieczne elementy HTML (na razie ``; pewnie w przyszłości dojdzie usuwanie innych potencjalnie...

Używamy już przy parsingu maili HTML od klientów: http://htmlpurifier.org/ i to ładnie eliminuje wszelki podejrzany kod HTML, również atrybuty. Dla pól wielowierszowych klienta o których wcześniej wspomniałem nie możemy zrobić...

No i, co istotne, HTMLPurifier używamy od 26.x, więc nikłe są szanse, żeby mocniejsze zabezpieczenia oparte o tą bibliotekę trafiły do starszych wersji LMS+ :(

> w sekcji `Contact phones > Contact phone` jesli sie ustawi `0700" onload="alert(1)` to bedzie to poprawny bez uzywania `>

Ano - wypełniłem formularz kontaktu telefonicznego (konkretnie numer telefonu) następująco: ![Zrzut ekranu z 2021-01-14 12-44-36](https://user-images.githubusercontent.com/1457437/104586841-535a1e80-5666-11eb-8c28-879959cbb637.png) Zapisałem zmiany klienta i w formularzu informacji o kliencie (customerinfo) nie wyskakuje mi alert JS.

Już widzę jak można tego użyć - wystarczy wpisać zdarzenie dla elementu html, które przeglądarka dla danego elementu wygeneruje. Zdecydowanie trzeba wszystkie formatowania kontaktu opakować w htmlspecialchars().

Jeszcze raz dzięki za demonstrację podatności XSS, które dostarczamy ;-)

Poszła kolejna zmiana - od 26.x mamy metodę publiczną statyczną **removeInsecureHtml()**, która eliminuje niebezpieczny kod w HTML w oparciu o HTMLPurifier. W 25.x i 24.x mamy również tą metodą, ale...

@rafalpietraszewicz @awbnet @interduo poprawiamy hurtowo poprzez pseudoaktualizację schematu bazy danych (lib/upgradedb) zawartości pól customerinfo: notes, info, message i docmemo? One do tej pory mogły zawierać niebezpieczny kod HTML. Po dzisiejszych...