资源简介
一个SQL注入漏洞检测原型工具,由SQL注入动态检测工具,SQL漏洞静态代码检测工具,测试用的网站3部分组成。用Java语言实现。运行时需eclipse等IDE支持。可供学习参考。

代码片段和文件信息
package staticTest;
import java.io.*;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Detector {
public static int tag = 1;
private File[] files;
public Detector(File[] files) {
this.files = files;
}
public String beginFix() throws IOException {
String reporter = ““;
RemoveComments c = new RemoveComments();
String fileName;
for (int i = 0; i < files.length && files[i] != null; i++) {
tag = 1;
fileName = files[i].getPath();
Reader in = new BufferedReader(new FileReader(fileName));
String source = c.remove(in);
in.close();
ArrayList str1 = getLine(“prepareStatement“ source);
ArrayList str2 = getLine(“executeQuery“ source);
reporter += checkStatement(str1 fileName);
reporter += checkStatement(str2 fileName);
if (tag == 0) {
reporter += “建议使用preparedstatement的setStringsetInt等方法\n\r“;
} else {
reporter += “文件“ + fileName + “没有SQL注入漏洞。\n\r“;
}
reporter += “\n\r===================\n“;
}
return reporter;
}
private static String checkStatement(ArrayList str String fileName) {
String reporter = ““;
for (int i = 0; i < str.size(); i++) {
int begin = str.get(i).indexOf(“(“);
String statement = str.get(i).substring(begin + 1
str.get(i).length() - 1);
StringTokenizer tokens = new StringTokenizer(statement “+“);
while (tokens.hasMoreTokens()) {
String word = tokens.nextToken();
if (!word.contains(“\““)) {
tag = 0;
reporter += “文件“ + fileName + “中\n\r“;
reporter += str.get(i) + “\n语句可能会导致程序存在SQL注入漏洞\n“;
}
}
}
return reporter;
}
private static ArrayList getLine(String string String source) {
int begin = 0;
ArrayList str = new ArrayList();
while ((begin = (source.indexOf(string begin) + 1)) != 0) {
int end = source.indexOf(“)“ begin);
str.add(source.substring(begin - 1 end + 1));
}
return str;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-11-06 22:36 SQL注入漏洞检测\
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\CodeSQLTestTool\
文件 1039 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\1.JPG
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\CodeSQLTestTool\lib\
文件 62983 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\lib\activation-1.1.jar
文件 588551 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\lib\appfr
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\CodeSQLTestTool\src\
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\
文件 2074 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\Detector.java
文件 4462 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\FixJDialog.java
文件 7854 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\FixMainDialog.java
文件 5164 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\RemoveComments.java
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\resources\
文件 62983 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\resources\activation-1.1.jar
文件 588551 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\resources\appfr
文件 424 2009-06-03 12:21 SQL注入漏洞检测\Code\CodeSQLTestTool\src\staticTest\resources\FixMainDialog.properties
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\SQLInjection\
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\SQLInjection\lib\
文件 446464 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\lib\mysql-connector-java-3.1.12-bin.jar
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\SQLInjection\src\
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\SQLInjection\src\SQL_Bean\
文件 2461 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\src\SQL_Bean\Delete.java
文件 2899 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\src\SQL_Bean\LoginBean.java
文件 2862 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\src\SQL_Bean\LoginBean2.java
文件 3067 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\src\SQL_Bean\Register.java
文件 1946 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\src\SQL_Bean\SearchMan.java
文件 2616 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\src\SQL_Bean\selectAll.java
目录 0 2013-11-06 22:36 SQL注入漏洞检测\Code\SQLInjection\WebRoot\
文件 1597 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\WebRoot\about.jsp
文件 2266 2009-06-03 11:48 SQL注入漏洞检测\Code\SQLInjection\WebRoot\author.jsp
............此处省略164个文件信息
相关资源
- 微博系统(Java源码,servlet+jsp),适
- java串口通信全套完整代码-导入eclip
- jsonarray所必需的6个jar包.rar
- 三角网构TIN生成算法,Java语言实现
- java代码编写将excel数据导入到mysql数据
- Java写的cmm词法分析器源代码及javacc学
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
评论
共有 条评论