Html - CSS - XML - JavaScript - Ajax
WYSIWYG Kullanımında İnjection'lardan Korunma
WYSIWYG Kullanımında İnjection'lardan Korunma
-
Hacılar bir projeye kullanıcıların mesaj yazabilmesi için WYSIWYG editor eklemem gerekiyor. Ancak public bir uygulama olacağı için injectionlardan çekiniyorum. Editor'un çok fazla özelliğe ihtiyacı yok. Bold, italic, font color, alignment, font size, img upload gibi basit özellikleri işimi görür. (TBT deki konu ve mesaj yazdığımız editor gibi). Buraya kadar piyasadaki tüm editorler zaten bu özellikleri barındırıyor zaten. Ama benim çekincem herhangi bir şekilde XSS zaafiyeti oluşması. Bu konuda backend tarafında ne tür önlemler alıyorsunuz ve neler önerirsiniz? (Sistem laravel framework ve php 7+)
-
Ben de .Net MVC'de CKeditor'ü kullandım. Üye olmadan kullanılamadığı için herhangi bir önlem alma gereği görmedim. Ancak sanırım html içeriği veritabanında tutmak yerine xml'de tutsak sql injection sorununa kesin çözüm olur.
-
micropin bunu yazdı
Ben de .Net MVC'de CKeditor'ü kullandım. Üye olmadan kullanılamadığı için herhangi bir önlem alma gereği görmedim. Ancak sanırım html içeriği veritabanında tutmak yerine xml'de tutsak sql injection sorununa kesin çözüm olur.
Sterilize et inputu okurken, sonra yaz dbye.
-
ben de tinmce kullanıyorum PDO ile bindValue yapıyorum sql inj'e karşı koruyor
arkinfes tarafından 29/May/20 11:15 tarihinde düzenlenmiştir -
SQL injectiondan çok XSS önemli bu konuda. XML falan cozum olmaz burada.
Ben regex ile belli başlı taglar haricinde tümünü engelledim. Ayrıca onload onclick gibi js tetikleyen parametreleri temizledim tag içinde.
-
end bunu yazdımicropin bunu yazdı
Ben de .Net MVC'de CKeditor'ü kullandım. Üye olmadan kullanılamadığı için herhangi bir önlem alma gereği görmedim. Ancak sanırım html içeriği veritabanında tutmak yerine xml'de tutsak sql injection sorununa kesin çözüm olur.
Sterilize et inputu okurken, sonra yaz dbye.
entity kullan, yada ado kullaniyorsan parametre kullan sql injection için.
ama konu XSS ise en mantiklisi BBcode destekli bir editor kullan. db ye BBCODe alırsın. BBCODE'den html'e convert edersin. BBCODE nin desteklemediği parametreleri elbette kullanamaz ama güvenli bir noktada olmuş olursun.
-
Sql injection konusunda çekincem yok. Çekincem XSS açığı. Kayıtlı kullanıcılar yazı yazabiliyor ancak yinede bu kötü niyetli olmayacakları anlamı taşımıyor benim için. Sterilize işlemi uygulanabilir ancak bunun için kabul görmüş bir package vs biliyor musunuz? Güvenlik konusunda güvenlikçi kadar iyi olamayacağımız için regexle, replace ile basit tagleri temizle işine girmek istemiyorum şimdilik. Son çare olarak bu olabilir.
-
rakkoc bunu yazdıend bunu yazdımicropin bunu yazdı
Ben de .Net MVC'de CKeditor'ü kullandım. Üye olmadan kullanılamadığı için herhangi bir önlem alma gereği görmedim. Ancak sanırım html içeriği veritabanında tutmak yerine xml'de tutsak sql injection sorununa kesin çözüm olur.
Sterilize et inputu okurken, sonra yaz dbye.
entity kullan, yada ado kullaniyorsan parametre kullan sql injection için.
ama konu XSS ise en mantiklisi BBcode destekli bir editor kullan. db ye BBCODe alırsın. BBCODE'den html'e convert edersin. BBCODE nin desteklemediği parametreleri elbette kullanamaz ama güvenli bir noktada olmuş olursun.
Tam ben yazarken yazmissin hocam. Bbcode olayini hayirlayamamistim. Simdi arastirip bi gozden geciricem. Donus yaparim buraya.
-
teşekkürler herkese, şuanda http://htmlpurifier.org/ şunu kullanmayı araştırıcam biraz detaylı olarak. belki sizinde işinize yarayabilir.
-
Şöyle bir şey buldum inceleme fırsatım olmadı henüz =
Html Purifier çok büyük bir kütüphane hocam nette araştırdım performans sorunları yaratabiliyormuş. Ayrıca daha önce ben kullanmayı denedim çok garip şekilde tinymce'de image upload olayında src="" boşaltıyordu.
-
arkinfes bunu yazdı
Şöyle bir şey buldum inceleme fırsatım olmadı henüz =
Html Purifier çok büyük bir kütüphane hocam nette araştırdım performans sorunları yaratabiliyormuş. Ayrıca daha önce ben kullanmayı denedim çok garip şekilde tinymce'de image upload olayında src="" boşaltıyordu.
Çok detaylı kıl config'leri var onunla ilgili birşey olabilir. Kullanıcı ürün eklerken açıklama kısmına yazdıklarını filtrelemek istiyorum. Çok yoğun kullanılacak bir bölüm olmadığı için yaratacağı gecikme ne kadar olabilir ki? Sadece kayıt sırasında tek seferlik bir işlem olacak, render'da kullanacağım birşey olsa performans sıkıntı olabilir ama bu durumda 1sn bile sürse çok koymaz diye düşünüyorum. Kohana'yıda inceliyim daha lightweight duruyor. Teşekkürler.