Giter VIP home page Giter VIP logo

Comments (5)

marcinwrochna avatar marcinwrochna commented on July 25, 2024

Nie znalazłem innej rozsądnej biblioteki niż bleach (w php jest dużo porządniejszy HTMLPurifier), także najprościej będzie chyba wziąć
https://bitbucket.org/ionata/django-bleach/overview
i używać w template'ach |bleach zamiast |safe (w bazie danych będzie trzymane dokłoadnie to co podał użytkownik).

Nie znalazłem też jakichś lepszych ustawień, ale i tak dobrze by było przejrzeć te przyciski CKEditora i połowę wywalić (config teraz idzie z widgets.py, nie z config.js).
Masz czas się tym dziś/jutro zająć?

from aplikacjawww.

sebastianjaszczur avatar sebastianjaszczur commented on July 25, 2024

Bleach wygląda wystarczająco fajnie, zrobię dzisiaj. I tak, przyciski do CKEditora trzeba też przejrzeć - ale to chyba oddzielna kwestia.

from aplikacjawww.

sebastianjaszczur avatar sebastianjaszczur commented on July 25, 2024

Bleach już jest. W CKEditorze wygenerowałem wszystkie możliwe (chyba) tagi, atrybuty i style - i wrzuciłem do whitelisty (i nic poza nimi nie ma).
Na razie używane jest |bleach - co ma taką zaletę, że każdy kod jest zapisywany, nawet potencjalnie groźny. Jednak obawiam się, że CKEditor nie jest zbyt mądry i możliwe będzie uruchomienie JS w momencie, gdy ktoś zacznie edytować stronę - bo bleach działa na wyświetlany artykuł/warsztaty, ale nie na content wyświetlany w edytorze. Odtworzyć jakiegoś scenariusza ataku mi się nie udało, ale późno jest.

W każdym razie - ktoś też musiałby przejrzeć tagi/atrybuty/style i potwierdzić, że są OK wszystkie. Czyli - że żadnych z CKEditora nie brakuje, i żadne nie są niebezpieczne. Plik jest tutaj:
https://github.com/sebastianjaszczur/aplikacjawww/blob/master/wwwapp/settings.py
Poproszę jutro o to Kalmara.
Ogólnie się obawiam, że coś będzie źle - szczególnie style pewnie można gdzieś wykorzystać.

from aplikacjawww.

marcinwrochna avatar marcinwrochna commented on July 25, 2024

Racja, trzeba będzie na to spojrzeć. Ale na release może być tak jak jest,
issue można zamknąć.

Tagi są imho ok. Być może da się robić coś w stylu , ale
i tak trzeba pamiętać żeby nie wykonywać istotnych akcji z GET (tylko
POST). Logout może zostać, można kiedyś w wolnym czasie go ograniczyć do
POST (i zmienić linki do logout na formy).

2015-04-05 3:19 GMT+02:00 Sebastian Jaszczur [email protected]:

Bleach już jest. W CKEditorze wygenerowałem wszystkie możliwe (chyba)
tagi, atrybuty i style - i wrzuciłem do whitelisty (i nic więcej).
Na razie używane jest |bleach - co ma taką zaletę, że każdy kod jest
zapisywany, nawet potencjalnie groźny. Jednak obawiam się, że CKEditor nie
jest zbyt mądry i możliwe będzie uruchomienie JS w momencie, gdy ktoś
zacznie edytować stronę - bo bleach działa na wyświetlany
artykuł/warsztaty, ale nie na content wyświetlany w edytorze. Odtworzyć
jakiegoś scenariusza ataku mi się nie udało, ale późno jest.

W każdym razie - ktoś też musiałby przejrzeć tagi/atrybuty/style i
potwierdzić, że są OK wszystkie. Plik jest tutaj:

https://github.com/sebastianjaszczur/aplikacjawww/blob/master/wwwapp/settings.py
Poproszę jutro o to Kalmara.


Reply to this email directly or view it on GitHub
#10 (comment)
.

from aplikacjawww.

sebastianjaszczur avatar sebastianjaszczur commented on July 25, 2024

Zamykam - jednak kiedyś trzeba będzie dokładniej przejrzeć, czy to wszystko jest bezpieczne. Szczerze, nie sądzę.

from aplikacjawww.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.