tornado服务器路径泄露漏洞
该漏洞一般是由于目标web应用没有处理好应用错误信息导致的。如果攻击者获取到这些信息,可以了解目标服务器目录结构,并通过利用该信息,再配合其它漏洞对目标服务器实施进一步的攻击。
Traceback (most recent call last):
File "/usr/local/python27/lib/python2.7/site-packages/tornado/web.py", line 1590, in _execute
result = method(*self.path_args, **self.path_kwargs)
File "/usr/local/python27/lib/python2.7/site-packages/tornado/web.py", line 238, in put
raise HTTPError(405)
HTTPError: HTTP 405: Method Not Allowed
解决方法:
重写write_error,实现自定义错误页面。
send_error 在其底层调用的是write_error;因此只要重写此方法,就可以实现自定义的的错误页面
#自定义错误页面
class Session(tornado.web.RequestHandler):
def write_error(self, status_code, **kwargs):
self.write('not support')