资源简介

一个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\appframework-1.0.jar
     目录           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\appframework-1.0.jar
     文件         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个文件信息

评论

共有 条评论