最新安全检查中常见问题
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
return param;
}
}
2、
在网站中任何一个有.jsp的连接,只要把其中一个字母改成大写就会出现源代码漏洞问题,与在IE里面查看源码不同,这个源代码漏洞会把所有写在前台的JAVA语句都显示出来。
在tomcat5.0\conf\web.xml文件中。默认有对小写jsp的过滤。
如<servlet>
五、SQL数据库检测9
系统软件:WindowsServer2003
数据库管理系统:ORACLE 9i
JDK版本:JDK1.42
应用服务器:TOMCAT5.0以及Apache2
二
1、
对于网站中所有接收参数的动态页面,都要进行过滤,过滤的方法如下:
public class SecurityTool {
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
// <summary>
///用于检测前台传过来的参数是否有安全隐患
///目前主要Baidu Nhomakorabea测sql注入
///如果有发现特殊字符则删除
/// </summary>
/// <param name="param">前台传入的参数</param>
/// <returns>安全的参数</returns>
public static String CheckRequest(String param)
}
if(param.indexOf("exec")>-1)
{
param=param.replaceAll("exec","");
}
if(param.indexOf("and")>-1)
{
param=param.replaceAll("and","");
}
if(param.indexOf("or")>-1)
}
if(param.indexOf("cmd")>-1)
{
param=param.replaceAll("cmd","");
}
if(param.indexOf(".")>-1)
{
param=param.replaceAll(".","");
}
if(param.indexOf("/")>-1)
{
param=param.replaceAll("/","");
及<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
因为JAVA对大小写是区分的,所以还需对JSP,JSp,Jsp,jSP,jsP,jSp,JsP进行过滤,具体内容请查看web.xml附件。这个问题修改后将不会出现代码漏洞,但会有404的错误,对于这个问题请看第5点。
{
if(param==null||param.equals(""))
return param;
//检查sql注入的特殊字符
if(param.indexOf(";")>-1)
{
param=param.replaceAll("'","");
}
if(param.indexOf("'")>-1)
{
param=param.replaceAll("'","");
if(param.indexOf(" ")>-1)
{
param=param.replaceAll(" ","");
}
if(param.indexOf("<")>-1)
{
param=param.replaceAll("<","");
}
if(param.indexOf(">")>-1)
{
param=param.replaceAll(">","");
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
Webapp目录下添加error.jsp,内容为
<%@ page contentType="text/html;charset=GBK" %>
4、
在网站互动栏目中,如果有上传附件的功能,需要过滤.jsp,.js,.exe等类型的文件,或者根据客户需求只接收某些类型的文件。
5、
在webapp\WEB-INF\web.xml中补充对404,500错误页面转身
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
3、
修改tomcat5.0\conf\web.xml文件,listings把默认值true改为false。测试中,如果没有效果,请先清除缓存。
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
{
param=param.replaceAll("or","");
}
if(param.indexOf(":")>-1)
{
param=param.replaceAll(":","");
}
if(param.indexOf("=")>-1)
{
param=param.replaceAll("=","");
}
安全检查中常见问题
目录0
一、服务器环境1
二、WEB应用层检测1
1、SQL注入漏洞、跨站脚本1
2、源代码漏洞3
3、列目录3
4、JSP文件上传3
5、拒绝服务,错误页面转向4
6、补充说明4
三、操作系统4
1、身份鉴别4
2、自主访问控制5
3、安全审计6
4、剩余信息保护6
5、资源控制7
四、ORACLE数据库检测8
return param;
}
}
2、
在网站中任何一个有.jsp的连接,只要把其中一个字母改成大写就会出现源代码漏洞问题,与在IE里面查看源码不同,这个源代码漏洞会把所有写在前台的JAVA语句都显示出来。
在tomcat5.0\conf\web.xml文件中。默认有对小写jsp的过滤。
如<servlet>
五、SQL数据库检测9
系统软件:WindowsServer2003
数据库管理系统:ORACLE 9i
JDK版本:JDK1.42
应用服务器:TOMCAT5.0以及Apache2
二
1、
对于网站中所有接收参数的动态页面,都要进行过滤,过滤的方法如下:
public class SecurityTool {
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
// <summary>
///用于检测前台传过来的参数是否有安全隐患
///目前主要Baidu Nhomakorabea测sql注入
///如果有发现特殊字符则删除
/// </summary>
/// <param name="param">前台传入的参数</param>
/// <returns>安全的参数</returns>
public static String CheckRequest(String param)
}
if(param.indexOf("exec")>-1)
{
param=param.replaceAll("exec","");
}
if(param.indexOf("and")>-1)
{
param=param.replaceAll("and","");
}
if(param.indexOf("or")>-1)
}
if(param.indexOf("cmd")>-1)
{
param=param.replaceAll("cmd","");
}
if(param.indexOf(".")>-1)
{
param=param.replaceAll(".","");
}
if(param.indexOf("/")>-1)
{
param=param.replaceAll("/","");
及<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
因为JAVA对大小写是区分的,所以还需对JSP,JSp,Jsp,jSP,jsP,jSp,JsP进行过滤,具体内容请查看web.xml附件。这个问题修改后将不会出现代码漏洞,但会有404的错误,对于这个问题请看第5点。
{
if(param==null||param.equals(""))
return param;
//检查sql注入的特殊字符
if(param.indexOf(";")>-1)
{
param=param.replaceAll("'","");
}
if(param.indexOf("'")>-1)
{
param=param.replaceAll("'","");
if(param.indexOf(" ")>-1)
{
param=param.replaceAll(" ","");
}
if(param.indexOf("<")>-1)
{
param=param.replaceAll("<","");
}
if(param.indexOf(">")>-1)
{
param=param.replaceAll(">","");
</init-param>
<init-param>
<param-name>xpoweredBy</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
Webapp目录下添加error.jsp,内容为
<%@ page contentType="text/html;charset=GBK" %>
4、
在网站互动栏目中,如果有上传附件的功能,需要过滤.jsp,.js,.exe等类型的文件,或者根据客户需求只接收某些类型的文件。
5、
在webapp\WEB-INF\web.xml中补充对404,500错误页面转身
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
3、
修改tomcat5.0\conf\web.xml文件,listings把默认值true改为false。测试中,如果没有效果,请先清除缓存。
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
{
param=param.replaceAll("or","");
}
if(param.indexOf(":")>-1)
{
param=param.replaceAll(":","");
}
if(param.indexOf("=")>-1)
{
param=param.replaceAll("=","");
}
安全检查中常见问题
目录0
一、服务器环境1
二、WEB应用层检测1
1、SQL注入漏洞、跨站脚本1
2、源代码漏洞3
3、列目录3
4、JSP文件上传3
5、拒绝服务,错误页面转向4
6、补充说明4
三、操作系统4
1、身份鉴别4
2、自主访问控制5
3、安全审计6
4、剩余信息保护6
5、资源控制7
四、ORACLE数据库检测8