0

我在 web.py utils.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

我在一些 web.py 网站上尝试过,比如“http://web.site/index%bf”,它们都响应状态为 500 或异常。那是错误还是漏洞?

我修复了 utils.py 第 342 行

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

然后一切顺利。但是真的有安全吗?

4

2 回答 2

1

我已经在 github 存储库中打开了这个问题,它似乎已经修复了。也许你应该更新到 0.37?

于 2012-04-12T09:56:26.427 回答
0

它仍然没有修复.. 0.37 测试。尝试创建一个参数,如 http://sometarget.com/test?parameter=%bf

于 2013-10-21T09:31:54.453 回答