*** P运用过滤器避免SQL注入

访客5年前黑客文章751

 什么是SQL注入进犯?引证百度百科的解说:

sql注入_百度百科:
所谓SQL注入,便是通过把SQL指令刺进到Web表单提交或输入域名或页面恳求的查询字符串,终究抵达诈骗服务器履行歹意的SQL指令。详细来说,它是使用现有应用程序,将(歹意)的SQL指令注入到后台数据库引擎履行的才能,它能够通过在Web表单中输入(歹意)SQL句子得到一个存在安全漏洞的网站上的数据库,而不是依照设计者目的去履行SQL句子。[1]  比方从前的许多影视网站走漏VIP会员暗码大多便是通过WEB表单递送查询字符暴出的,这类表单特别简单遭到SQL注入式进犯.
SQL注入进犯指的是通过构建特别的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过履行SQL句子从而履行进犯者所要的操作,其主要原因是程序没有详尽地过滤用户输入的数据,致使不合法数据侵入体系。
filter功用:
它使用户能够改动一个 request和修正一个response. Filter 不是一个servlet,它不能发生一个response,它能够
 
在一个request抵达servlet之前预处理request,也能够在脱离 servlet时处理response.
 
换种说法,filter其实是一个”servlet chaining”(servlet 链). 所以用户宣布的任何request都必定通过filter处理,咱们就在filter处理用户request包括的灵敏关键字,然后replace掉或是让页面转到过错页来提示用户,这样就能够很好的防sql注入了。
 
详细完成代码:
/YourProject/src/com/SqlFilter.java
 
仿制代码
 1 package com;
 2 import java.io.IOException;  
 3 import java.util.Enumeration;  
 4 import javax.servlet.Filter;  
 5 import javax.servlet.FilterChain;  
 6 import javax.servlet.FilterConfig;  
 7 import javax.servlet.ServletException;  
 8 import javax.servlet.ServletRequest;  
 9 import javax.servlet.ServletResponse;  
10 import javax.servlet.http.HttpServletRequest;  
11 import javax.servlet.http.HttpServletResponse;  
12   
13 //过滤sql关键字的Filter 
14 public class SqlFilter implements Filter {  
15   
16     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {  
17   
18         HttpServletRequest req = (HttpServletRequest) request;  
19         HttpServletResponse res = (HttpServletResponse) response;  
20         //取得一切恳求参数名  
21         Enumeration params = req.getParameterNames();  
22   
23         String sql = "";  
24         while (params.hasMoreElements()) {  
25             //得到参数名  
26             String name = params.nextElement().toString();  
27             //System.out.println("name===========================" + name + "--");  
28             //得到参数对应值  
29             String[] value = req.getParameterValues(name);  
30             for (int i = 0; i < value.length; i++) {  
31                 sql = sql + value[i];  
32             }  
33         }  
34         System.out.println("被匹配字符串:"+sql);  
35         if (sqlValidate(sql)) {  
36             res.sendRedirect("error.jsp");   
37         } else {  
38             chain.doFilter(req, res);  
39         }  
40     }  
41   
42     //校验
43     protected static boolean sqlValidate(String str) {  
44         str = str.toLowerCase();//一致转为小写

[1] [2]  黑客接单网

相关文章

Faraday:一款多功能协同式浸透测验东西&amp;缝隙办理渠道

今日给咱们介绍的是一款名叫Fareday的东西,它是一款协同式多功能浸透测验及缝隙办理渠道。 新版本的Faraday引入了一个新的概念,即IPE(整合型浸透测验环境),也便是所谓的多用户浸透测验IDE...

网络黑客接单网删除照片需要多少钱?

网络黑客接单网删除照片需要多少钱?

在 Mac 上的“相片” App  中,挑选要想删掉的新项目。   实行下列一项实际操作:   在日...

XSS终结者-CSP理论与实践

 CSP 全称为 Content Security Policy,即内容安全战略。首要以白名单的方法装备可信任的内容来历,在网页中,能够使白名单中的内容正常履行(包括 JS,CSS,Image 等等)...

安全搜索引擎Shodan(搜蛋)命令行形式运用TIPS

与谷歌经过网址来搜索互联网的方法不同,Shodan经过互联网背面的通道来搜索信息。它就象是一种“漆黑”的谷歌,不断在寻觅服务器、网络摄像头、打印机、路由器和其他与互联网衔接及构成互联网的全部东西。 S...

怎么高效使用你所“绑架”的HTTP会话?

HTTP会话绑架 HTTP是无状况的协议,为了保持和盯梢用户的状况,引入了Cookie和Session,但都是根据客户端发送cookie来对用户身份进行辨认,所以说拿到了cookie,就能够取得vic...

“神起”僵尸网络的诱捕与反击(上)

2019年5月中旬,蜜罐体系监测到了一同进犯事情,引起了咱们的留意,小伙伴们敏捷跟进分析,并经过技术手段拿下黑客操控端服务器,发现黑客运用了一款名为“神起ddos集群”的软件,操控了3000+的僵尸网...