Кодер ошибается один раз, программист постоянно. (о безопасности скриптов)

[Удален]
#31
Fearful:

...<div>{content}</div>...

все остальное это попытка создать видимость универсальности в CMS в ущерб другим вещам.

а если там форма со 100500 полями? и надо сменить дизайн из 90ых? вас же заплюют и помидорами гнилыми обмажут.

все очень сомнительно, может быть просто надо делать "автоескейпинг" в шаблонизаторах? чтобы они сразу возвращали фильтрованные данные в места вставки? к такому выводу не приходили? хсс не прорвется, а в тех 5 разах, когда надо без флиьтрации вставить - вставляем нечто типа {:content} вместо {content} и все. волки сыты, овцы целы.

mendel
На сайте с 06.03.2008
Offline
183
#32
rtyug:
в smarty и других подобных шаблонизаторах есть escape:
http://www.smarty.net/docsv2/ru/language.modifier.escape.tpl

rtyug, Вы уже всем верстальщикам лекцию об этом прочитали? И все они поверили? Может еще и подробно объяснили ЗАЧЕМ она нужна? :)

Смысл не в том, что можно писать безопасные шаблоны. Смысл в том, что можно написать и не безопасные. Поэтому их нужно проверять. А был бы шаблонизатор на регулярках или на конечных автоматах, то без исполняемого кода, то уязвимых шаблонов просто не могло бы быть...

В принципе это из базовых концептов безопасности. В старину было два чистых подхода. Один в юникс-платформах, второй у винды. "Все что не запрещено - разрешено" и "все что не разрешено - запрещено". Сейчас все немного поменялось, но суть осталась...

Fearful:
В итоге вывод который я вынес за несколько лет, заключается в том что ломают только популярные движки, через известные дыры, и то в 90% случаев это делается на автомате скриптами.

В основном. Это если нет заказа на тебя.

Ломать автоматом проще. Намного.

Fearful:
Не надо брать халявных шаблонов и шаблоны за копейки и все будет хорошо.

Ну да, это один из подходов. Если взять дешевый китайский корпус и вставить в него нормальную материнку, то все будет работать. Если вставить китайскую дешевую мать в нормальный корпус, то все работает. Вставить китайскую мать в китайский корпус - не работает :)

Но есть и другой подход, который многие тут не рассматривают - взять нормальный корпус и нормальную мать :)

В контексте сайтостроения - некоторые извращенцы не только нормальные шаблоны берут, но и... нормальные движки :)

Fearful:
Потому что правильный шаблон должен выглядеть примерно так
...<div>{content}</div>...
все остальное это попытка создать видимость универсальности в CMS в ущерб другим вещам.

плюсадын.

mendel добавил 28.01.2011 в 13:33

seodude:
все очень сомнительно, может быть просто надо делать "автоескейпинг" в шаблонизаторах? чтобы они сразу возвращали фильтрованные данные в места вставки? к такому выводу не приходили?

Так собственно об этом речь и идет. Попробуйте топик с начала прочитать :)

А вот что делать с опасными функциями уже существующих шаблонизаторов? Например доступ из смарти к гет/пут? Выжигать каленым железом на лбу верстальщика запрет пользоваться этими функциями? :)

Шутку любишь над Фомой, так люби и над собой. (с) народ. Бесплатные списки читабельных(!) свободных доменов (http://burzhu.net/showthread.php?t=2976) (5L.com) Сайты, All inclusive. 5* (/ru/forum/962215)
S
На сайте с 23.05.2004
Offline
316
#33
А вот что делать с опасными функциями уже существующих шаблонизаторов? Например доступ из смарти к гет/пут

А зачем вообще верстальщику эти переменные ? Он у вас еще может и пхп код меняет под себя ? Верстальщик получает массивы и переменные с данными, которые необходимо отобразить на странице.

Если у верстальщика есть доступ к темплейту, то он и так там что угодно сделать сможет.

Да и большинство взломов сейчас идет по пути троян->фтп доступ->троян для следующего.

Это просто подпись.
[Удален]
#34
mendel:
Выжигать каленым железом на лбу верстальщика запрет пользоваться этими функциями?

стопудово.

seodude добавил 28.01.2011 в 14:24

mendel:
Например доступ из смарти к гет/пут?

переписать смарти и запретить нахер это :-)

делается за 5 минут, то есть час поисков(кода там пздц и он весь ужастный) куска кода и 5 минут исправление чтобы без багов работало все продолжало.

Z
На сайте с 01.06.2008
Offline
182
#35

рекомендую ТС, как ответственного и знающего своё дело человека, очень сильно помог в проекте, за что ему огромные благодарности!!!! пыщ! пыщ! ;)

mendel
На сайте с 06.03.2008
Offline
183
#36
zuziken:
рекомендую ТС, как ответственного и знающего своё дело человека, очень сильно помог в проекте, за что ему огромные благодарности!!!! пыщ! пыщ! ;)

Спасибо, рад что советы оказались полезны. Рад что не все флудят, а кто-то делает выводы :)

RO
На сайте с 13.07.2009
Offline
88
#37
Особенно с учетом того, что в админке редактируют как правило доверенные пользователи, поэтому ждать от них эксплойтов не очень логично.

очень частая ошибка, даже не ошибка а лень кодера, делать всякие фильтрации в админке, в следствии чего когда некий кулхацкер находит скуль, например, но без превилегий типа file_priv, и не может залить шелл, а дергает все пароли и логины, а тут еще и админка по адресу /admin (ну не прелесть ли?) в админке видит форму загрузки (например прайсов или картинок каких-то) и о чудо тут нет никаких фильтраций. а дальше чего душа пожелает, хоть "ЙУХ" на главной, хоть ссылки на сапе продавай без палева. нельзя доверять даже админу (главному контент менеджеру на сайте, а не тому что спит в серверной :D )

S
На сайте с 23.05.2004
Offline
316
#38
очень частая ошибка, даже не ошибка а лень кодера, делать всякие фильтрации в админке, в следствии чего когда некий кулхацкер находит скуль, например, но без превилегий типа file_priv, и не может залить шелл, а дергает все пароли и логины, а тут еще и админка по адресу /admin (ну не прелесть ли?) в админке видит форму загрузки (например прайсов или картинок каких-то) и о чудо тут нет никаких фильтраций.

Краткая суть текста:

1. в админке нет фильтрации

2. надергал паролей

3. нашел адрес админки

4. вернуться на пункт 1.

Самого ничего не смущает ? :)

dma84
На сайте с 21.04.2009
Offline
168
#39
Fearful:
Притом что Smarty.

Вообще-то я всегда думал,что задача верстальщика сверстать шаблон на основе дизайна, сделанного дизайнером, а уж как там прогер будет "пихать" данные в шаблон, с помощью Smarty или ещё каких выкрутасов, верстальщика волновать не должно. Нормальному верстальщику вообще должно быть наплевать на проблемы прогера, его задача - вёрстка, кроссбраузерная, прямая, возможно, валидная, но всё же вёрстка.

[Удален]
#40
mendel:
Рад что не все флудят, а кто-то делает выводы

Те кто флудят сделали их ранее. И вероятно они от Ваших отличаются.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий