![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam. W wyrazeniach regularnych PERL-a użycie wyrażenia (.*?) we wzorcu powoduje wyszukanie najkrótszego dowolnego wzorca.
Wyrazenie (.*) czy tam (.?) (juz nie pamietam) powoduje wyszukanie najdłuzszego dowolnego wzorca. Czy jest mozliwosc wyszukania dowolnego najdłuższego wzorca? potrzebuje tego do parsera ktory wytnie z kodu HTML te znaczniki ktore da sie zamienic na bbcode. wyrazenie <span style="color: red">tekst czerwony <span style="font-style: italic">i pochylony</span></span> nie zamienia sie poprawnie na tekst czerwonyi pochylony tylko wychodzi tekst czerwony<span style="font-style: italic">. Cos takiego wychodzi. W kazdym razie powinien skoczyc do najdalszego znacznika span, a on skacze do najkrótszego. Nie da sie uzyc <b> <i> <u> poniewaz po wlaczeniu contentEditable w mozilli wykonanie polecenia mozilli exec("Bold") powoduje wstawienie do kodu nie <b> a wlasnie <span style="Font-weight: bold">... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 14 Dołączył: 8.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Zrezygnowalem z uzycia wyrazen regularnych na rzecz parsera HTML (IMG:style_emoticons/default/smile.gif) To klasa która z kodu HTML utworzy mi w pamieci drzewo znaczników tak jak jest np window.document w javascript. Przejrze kod tam i wszystko wytne.
Widzial ktos moze np. złośliwy kod XSS ktory by mial w sobie wszystkie mozliwe rodzaje exploitow i ktory mozna sobie wkleic w przegladarke i dzieki temu sprawdzic odpornosc swojej strony? Taki fulltest;d Dobra, poradziłem sobie. Uzylem klasy simple_html_dom ktora jest w stanie zamienic kod HTML ze stringa na drzewo DOM dokumentu. Następnie tworzę stringa który będzie wynikowym bezpiecznym tekstem. Przeglądam drzewo dokumentu białą listą i jeżeli znajde dozwolony tag to przepisuje go do wynikowego stringa. Atrybuty ktore przepisuje dla kazdego taga rowniez zdefiniowane są białą listą, oraz każdy styl inline style="costam" jest sprawdzany regexpem i przepisywane sa tylko dozwolone atrybuty. Wygląda na to że klasa działa, w razie podania znacznika <script> nic nie jest przepisywane a jak testowalem z jakimis bardziej wyszukanymi XSS-ami to po prostu parser błędnie je odczytuje i wychodzą głupoty w drzewie dokumentu albo nic nie wychodzi co uniemozliwia wklejenie XSS-a. No chyba ze pomylilem sie przy testach. Wątek do zamknięcia ;D |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 19:33 |