2012-04-12 40 views
0

我在web.py utils.safeunicode函數中發現了一個錯誤。該版本是0.36web.py safeunicode函數錯誤?

>>> 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 

我嘗試了一些web.py網站,如「http://web.site/index%bf」,他們都響應狀態500或例外。那麼這是一個錯誤還是脆弱性?

我固定utils.py線342

elif t is str: 
    ooxxxxoo=obj.decode(encoding,'ignore') 
    return ooxxxxoo 

那麼它去好了。但真的有安全嗎?

回答