metaclass: (mindfuck)
metaclass ([personal profile] metaclass) wrote2010-01-17 01:57 pm

Разнообразного рода черви

Дотнет не устает меня поражать.

System.Net.WebException: The server committed a protocol violation. Section=ResponseHeader Detail=CR must be followed by LF
   at System.Net.HttpWebRequest.GetResponse()


Cервак случайно записал в HttpResponse.StatusDescription для ошибки строку, заканчивающуюся на CR и клиента сгрызли черви. Вроде это даже и правильное поведение, по стандарту.
Но вот браузеры и wget на этом url не выдают таких бредовых сообщений, а показывают ошибку корректно.
wizzard: (Default)

[personal profile] wizzard 2010-01-17 02:08 pm (UTC)(link)
это типа на тему того что malformed headers часто с разными атаками связаны.

useUnsafeHeaderParsing где-то там включить надо

[identity profile] metaclass.livejournal.com 2010-01-17 02:10 pm (UTC)(link)
Точно, очень похоже на такую паранойю.

[personal profile] alll 2010-01-17 05:16 pm (UTC)(link)
Я просто простираюсь ниц перед прозорливостью разработчиков DOS 0.1 - это ж надо, предусмотреть способ борьбы с mailformed headers pа десяток лет до появления самого протокола.

[personal profile] alll 2010-01-17 06:31 pm (UTC)(link)
Взаимонепониманию между продуктами от приверженцев LF и СR-LF чуть меньше времени, чем спору тупоконечников с остроконечниками. Емнип, лет восемь назад самыми популярными граблями в среде cgi-перловщиков была удивительная строчка
#!perl
которую виндовые редакторы (вполне справедливо) представляли как
#!perl<cr><lf>
а unix-подобные системы желали исключительно в виде
#!perl<lf>
wizzard: (Default)

[personal profile] wizzard 2010-01-17 06:41 pm (UTC)(link)
Грабля выше возникает, если клиенту кормят CRCRLF.
wizzard: (Default)

[personal profile] wizzard 2010-01-17 06:50 pm (UTC)(link)
Мы сейчас войдем в рекурсию.

[personal profile] alll 2010-01-17 06:59 pm (UTC)(link)
Зачем? Мнения прозвучали и приняты к сведению. :)
ocehb: (Default)

[personal profile] ocehb 2010-01-18 06:58 am (UTC)(link)
наиболее продвинутые ленивые администраторы сразу делали ссылку

ln -s perl perl$'\r'

[personal profile] alll 2010-01-18 08:18 am (UTC)(link)
Я в курсе - ты мне это уже советовал семь лет назад. ;)
ocehb: (Default)

[personal profile] ocehb 2010-01-18 08:34 am (UTC)(link)
как время летит! :)

[identity profile] komarov.livejournal.com 2010-01-17 07:23 pm (UTC)(link)
а почему сообщение бредовое?

[identity profile] metaclass.livejournal.com 2010-01-17 09:40 pm (UTC)(link)
Ну напрягает меня "Protocol Violation" для тупых вещей типа HTTP. При том что и сервер и клиент - .NET. Лучше бы оно на сервере грохнулось, когда я этот StatusDescription прописывал, если его нельзя так писать. :)