web.pyutils.safeunicode関数にバグが見つかりました。バージョンは0.36です
>>> import web
>>> app=web.application(('/hello','hello'),locals())
>>> class hello:
... def GET(self):
... return 'hello world'
#it's the normal request
>>> app.request('/hello').data
'hello world'
#the Error request
>>> app.request('hello\xbf').data
...
UnicodeDecodeError: 'utf8' codec can't decode byte 0xbf in position 6: unexpected code byte
'http://web.site/index%bf'のようないくつかのweb.pyWebサイトを試してみましたが、それらはすべて応答ステータス500または例外です。それはバグですか、それとも脆弱性ですか?
utils.py行342を修正しました
elif t is str:
ooxxxxoo=obj.decode(encoding,'ignore')
return ooxxxxoo
その後、それは大丈夫になります。しかし、本当に安全ですか?