Какое регулярное выражение следует использовать, чтобы разрешить теги Runnable Snippet с помощью NoScript Anti-XSS Protection?

390
zero298

Я запускаю NoScript в Firefox, и каждый раз, когда я пытаюсь использовать Runnable Snippet, NoScript спрашивает меня, хочу ли я разрешить выполнение потенциального межсайтового скрипта. Я могу предоставить регулярное выражение для обхода уведомления, но я хочу убедиться, что оно как можно более точно нацелено, чтобы фактические атаки XSS не проходили (не то, чтобы у Stack Exchange когда-либо было бы одно из них).

Я старался:

^https?://stackexchange\.com/questions/.*$ 

Но я все еще получаю исключение. Должен ли я нацеливаться http://stacksnippets.netвместо этого?

Я также попробовал:

^https?://stacksnippets\.net.*$ 

Что работает, но разве это самый направленный RegEx, который я могу сделать?

2

1 ответ на вопрос

2
funkwurm

Might be a bit paranoid, but I would add the requirement that after the .net no letter or dot is allowed for the first character. If there is a top-level domain .netmal or .net.au (like there is .com.au), someone could go out and register stacksnippets.netmal/stacksnippets.net.au and run their malware there.

So something like:

^https?://stacksnippets\.net([/?].*)?$ 

This would require a / or ? right after the base url, ensuring that the domain really is stacksnippets.net and nothing else.

Да, мне это нравится намного лучше, чем у меня было изначально. Даже не подумал рассмотреть новые домены верхнего уровня. zero298 9 лет назад 0