반응형

400 505번 http error code 출력되는 취약점 발생했다.

 

톰캣/conf/web.xml에

 

<error-code>400</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>401</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>403</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>404</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>405</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>500</error-code>
    <location>/error.html</location>
</error-page>
<error-page>
    <error-code>501</error-code>
    <location>/error.html</location>
</error-page>

 

정의를 하고 server.xml파일의 docBase에 error.html을 넣었는데 404는 error.html이 제대로 나오는데

 

400에러는 톰캣 디폴트 에러페이지가 나온다.

 

 

400에러나 505에러의 경우에는 버전에따라 적용이 안되는건지

 

톰캣/conf/server.xml에

<Valve className="org.apache.catalina.valves.ErrorReportValve" showReport="false" showServerInfo="false"
errorCode.0="{경로}/error.html" />

 

위와같이 추가하니 적용이됬다(0은 기본 오류페이지이고, 0대신 에러코드를 지정해서 적용할 수 있다.)

 

errorCode 속성은 현재 프로젝트의 톰캣 8.5.82기준 지원하고있다. (몇버전부터인지는 잘..)

https://tomcat.apache.org/tomcat-8.5-doc/config/valve.html

 

Apache Tomcat 8 Configuration Reference (8.5.84) - The Valve Component

When using mod_jk or mod_proxy_ajp, the client's session id is used to determine which back-end server will be used to serve the request. If the target node is being "drained" (in mod_jk, this is the DISABLED state; in mod_proxy_ajp, this is the Drain (N)

tomcat.apache.org

 

반응형

+ Recent posts