转自http://voff12.iteye.com/blog
关键字: 反黑
首先注入的类型分为参数数字型注入,参数字浮型注入,搜索框注入三种。
防注入的方法
1)参数过滤。
2)sql语句添加参数用占位符。
public static boolean sql_inj(String str)
{
String inj_str = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,";
String inj_stra[] = split(inj_str,"|");
for (int i=0 ; i < inj_stra.length ; i++ )
{
if (str.indexOf(inj_stra)>=0)
{
return true;
}
}
return false;
}
jsp中调用该函数检查是否包函非法字符
<%
if(request.getParameter("userID") != null)
userID = request.getParameter("userID").trim();
if (StringUtil.sql_inj(userID) || StringUtil.sql_inj(pwd)){
%>
<Script Language=javascript>alert('参数中包含非法字符!');history.back(-1);</Script>" ;
<%
}else{
……
}%>
分享到:
相关推荐
防止SQL注入最有效的方法之一是使用参数化查询,也称为预编译语句。在JSP中,可以使用Java的`PreparedStatement`接口来实现。以下是一个示例: ```java String query = "SELECT * FROM users WHERE username = ? ...
在IT行业中,SQL注入是一种常见的安全威胁,...以上就是关于JSP防止SQL注入的一些关键知识点和策略,通过结合这些方法,你可以大大提高你的JSP应用的安全性。在实际项目中,应根据具体需求和环境选择合适的防护措施。
字符过滤器通常会实现`doFilter()`方法,对请求参数进行处理。以下是一个简单的字符过滤器示例: ```java public class CharFilter implements Filter { @Override public void doFilter(ServletRequest request,...
- **Tomcat部署中的JSP乱码解决**:可能需要在Tomcat的server.xml配置文件中,或者在web.xml中设置默认编码为UTF-8,以确保整个应用统一使用UTF-8编码。 3. **防止SQL注入**: Struts2框架自身具有一定的SQL注入...
这里的“java请求参数过滤拦截”主要是指在接口接收到用户输入的数据时,通过过滤器(Filter)对参数进行检查,防止恶意攻击者利用特殊字符执行SQL注入、跨站脚本攻击(XSS)等危害。下面我们将详细探讨这一主题。 ...
JSP过滤器是一种有效的防止XSS攻击的方法,通过在请求进入业务逻辑之前对输入数据进行处理,过滤掉可能包含恶意代码的字符。 首先,我们来理解Servlet过滤器的工作原理。Servlet过滤器是Java Servlet API的一部分,...
### JSP如何防范SQL注入攻击 #### 背景介绍 在进行Web开发的过程中,安全性是不容忽视的重要一环。特别是在使用动态语言如Java Server Pages (JSP)时,开发者必须时刻警惕各种潜在的安全威胁,其中SQL注入是最常见...
防止JSP中的XSS攻击,可能涉及到使用EL(Expression Language)的`encodeForHTML()`或`encodeForJavaScript()`方法,以及对Servlet的请求参数进行验证。此外,JSP页面可能还需要正确设置Content-Type头,防止浏览器...
本文将详细介绍如何在JSP开发过程中防范SQL注入攻击,包括SQL注入的基本原理、常见的防范策略及具体实现方法。 #### 二、SQL注入攻击原理 SQL注入攻击是指攻击者通过向Web应用程序提交恶意构造的SQL语句,使得这些...
6. **配置过滤器**:在`web.xml`部署描述符中,需要定义过滤器,指定其类名、初始化参数以及过滤的URL模式。这样,当符合这些模式的请求到来时,过滤器就会被调用。 7. **过滤器接口**:主要使用`javax.servlet....
下面将详细解析JSP注入的概念、原理以及示例中的攻击方法。 ### JSP注入简介 JSP(JavaServer Pages)是一种用于生成动态网页的技术。它允许在HTML页面中嵌入Java代码,这些代码会在服务器端执行,然后将结果返回...
SQL防注入组件是一种重要的网络安全工具,专门用于保护ASP、JSP和PHP等Web应用程序免受SQL注入攻击。SQL注入是黑客常用的攻击手段,通过在输入字段中插入恶意SQL代码,来操纵数据库,获取敏感信息,甚至完全控制...
什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终...SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程
在`getSelectAllIds`方法中,`sql`参数的值未经任何安全过滤或转义就被直接用于构建SQL查询语句,并执行。这为攻击者提供了执行任意SQL命令的机会。如果`type`的值等于5,那么查询结果的`requestId`字段会被返回;...
【CnsaferSI:JSP+Oracle注入工具详解】 CnsaferSI是一款针对JSP应用程序与Oracle数据库结合环境的注入工具,主要用于检测和利用潜在的SQL注入漏洞。在网络安全领域,SQL注入是一种常见的攻击手段,黑客通过构造...
`XssHttpServletRequestWrapper`覆盖了`getParameter()`和`getHeader()`方法,对所有参数名和参数值进行XSS过滤。在`XssHttpServletRequestWrapper`中,我们调用`xssEncode()`方法对参数进行编码,确保潜在的危险...
在JSP中,可以通过HTTP请求来传递参数,比如使用`request.getParameter()`方法获取URL、表单或者查询字符串中的参数。而在BIRT中,报表参数可以被定义为报表设计的一部分,这些参数可以在运行时被赋值,从而影响报表...
在JSP环境中防范SQL注入的三种方法分别为: 1. 过滤用户提交的数据:这是最基础也是最直接的防范手段。通过在服务器端对用户输入进行验证,可以过滤掉非法字符,如单引号等,确保只有合法数据被处理。例如,可以...
防止PHP注入的方法包括但不限于: 1. 使用预编译语句(如PDO或mysqli的预处理语句)来隔离SQL代码和用户输入。 2. 对用户输入进行过滤和清理,如使用htmlspecialchars转换特殊字符。 3. 限制PHP文件的执行权限,...
JSP过滤器提供了一种更为统一和高效的方式来解决这个问题。在上述例子中,我们创建了一个名为`XssFilter`的Servlet过滤器,它实现了`javax.servlet.Filter`接口。这个过滤器在请求到达业务层之前拦截它们,并使用`...