常见状态码
每条HTTP响应消息都必须在第一行中包含一个状态码,说明请求的结果。根据代码的第一位数字,可将状态码分为以下5类:
- 1xx—提供信息
- 2xx—请求被成功提交
- 3xx—客户端被重定向到其他资源
- 4xx—请求包含某种错误
- 5xx—服务器执行请求时遇到错误
还有大量特殊状态码,其中许多状态码仅用在特殊情况下。下面列出渗透测试员在攻击Web应用程序时最有可能遇到的状态码及其相关的原因短语:
-
100 Continue:当客户端提交一个包含主体的请求时.将发送这个响应。该响应表示已收到请求消息头.客户端应继续发送主体。请求完成后,再由服务器返回另一个响应。(提供信息)
-
200 Ok:本状态码表示已成功提交请求,且响应主体中包含请求结果。
-
201 Created.:PUT请求的响应返回这个状态码,表示请求已成功提交。(PUT上传成功)
-
301 Moved Permanently:本状态码将浏览器永久重定向到另外一个在Location消息头中指定的URL。以后客户端应使用新URL替换原始URL(永久重定向)
- 302 Found:本状态码将浏览器暂时重定向到另外一个在Location消息头中指定的URL.客户端应在随后的请求中恢复使用原始URL.(暂时重定向)
-
304 Not Modified:本状态码指示浏览器使用缓存中保存的所请求资源的副本。服务器使用If-Modified-Since与工f-None-Match消息头确定客户端是否拥有最新版本的资源
- 400 Bad Request:本状态码表示客户端提交了一个无效的HTTP请求。当以某种无效的方式修改请求时(例如在URL中插人一个空格符),可能会遇到这个状态码(URL访问路径格式输入错误,就会产生该状态码)
-
401 Unauthorized.服务器在许可请求前要求HTTP进行身份验证。WWW-Authenticate消息头详细说明所支持的身份验证类型(身份验证错误)
- 403 Forbidden:本状态码指出,不管是否通过身份验证,禁止任何人访问被请求的资源(访问被禁止)该状态码一定和权限有关系
-
404 Not Found。本状态码表示所请求的资源并不存在(访问资源不存在)
- 405 Method Not Allowed:本状态码表示指定的URL不支持请求中使用的方法。例如,如果试图在不支持PUT方法的地方使用该方法,就会收到本状态码
-
413 Request Entity Too Large:如果在本地代码中探查缓冲器滋出瀚洞并就此提交超长数据串.则本状态码表示请求主体过长,服务器无法处理
- 414 Request URI Too Long:与前一个响应类似,本状态码表示请求中的URL过长,服务器无法处理。
-
500 Internal Server Error:本状态码表示服务器在执行请求时遇到错误。当提交无法预料的输人、在应用程序处理过程中造成无法处理的错误时,通常会收到本状态码。应该仔细检查服务器响应的所有内容,了解与错误性质有关的详情
- 503 Service Unavailable:通常,本状态码表示尽管Web服务器运转正常.并且能够响应请求,但服务器访问的应用程序还是无法作出响应。应该进行核实,是否因为执行了某种行为而造成这个结果