资源简介
一个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个文件信息
相关资源
- Spring MVC+MyBatis+FreeMarker整合开发java
- Java培训PPT
- java项目 小型宾馆管理系统
- 文件上传下载132211
- Effective.Java.3rd.Edition.pdf
- java抓取数据包及网络基础
- java宠物店2.0
- 合金弹头 java版
- 棋牌游戏系统之网络五子棋java版
- wsdl文件生成java webservice 工具(附带生
- Java课程设计案例精编源代码(3).r
- thinking in java 4 English version
- Java学生成绩管理系统(MySQL+JSP+Servl
- java 考试报名系统(毕设)
- java采购申请系统
- 车辆信息管理系统
- Javaweb开发中用itext实现pdf导出表格数
- qq聊天程序java 原代及实验报告
- access_jdbc30.jar131385
- 基于JavaEE的多用户学生信息管理系统
- java编写炫酷界面音乐播放器
- 黑马程序员 JAVA面试宝典 2018年5月最新
- 基于JavaWeb开发的简单车辆管理系统
- java+sql server 图书借阅管理系统源程序
- JSP化妆品销售网站.rar
- JAVA JSP人事工资管理系统
- JSP JAVA体育成绩管理系统
- java二手车交易系统部分功能代码
- 操作系统 java模拟
- 微信公众号开发(java版本含具体源码
评论
共有 条评论