资源简介
XSS攻击是一种常见的web攻击手段,这里提供了一种XSS检测原型系统。用Java实现,检测准确率在95%以上,可直接在Class下运行。

代码片段和文件信息
package file;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLDecoder;
import java.util.base64;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import file.FreatureExtraction;
public class Decode {
/*@function 对输入的数字进行预处理
* @param :输入的url
*/
public static String PreProcess(String data) throws IOException
{
if(null==data)
{
return null;
}
String tmp=data;//=replaceBlank(data.toLowerCase());
tmp = tmp.replaceAll(“%(?![0-9a-fA-F]{2})“ “%25“);//进行预处理
String urlStr = URLDecoder.decode(tmp “UTF-8“); //UTF8解码
String htmlStr= StringUtils.unescapeHtml3(urlStr);
//base64解码
// byte [] asbyte =base64.getDecoder().decode(urlStr);
// String base64Str =new String(asbyte“utf-8“);
// System.out.println(base64Str);
tmp=replaceBlank(htmlStr).toLowerCase();
// System.out.println(htmlStr);
return htmlStr.toLowerCase();
}
/*@function 获得数据的Http请求中的递交参数,将参数分组;
*@param 获取的url
*@return url get的字符分组
* GET http://192.168.43.28/main.php?usr=admin&passwd=456456 HTTP/1.1
*
*/
public String[] UrlGet(String url) throws IOException
{
String array[];
String str =PreProcess(url);
System.out.println(str);
String regex = new String(“(\\w+):\\/\\/(.+)\\/(.+)\\?(.*)\\s*http\\/“);
Pattern pattern =Pattern.compile(regex);
Matcher m =pattern.matcher(str);
if(m.find())
{
String Pout = m.group();
String reg= new String(“\\?(.*)\\s*http\\/“);
Matcher m1 =Pattern.compile(reg).matcher(Pout);
if(m1.find())
{
String end=replaceBlank(m1.group(1)).toLowerCase();
String regex1 =new String(“&“);
array =end.split(regex1);
System.out.println(end);
return array;
}
System.out.println(Pout);
//String regex1 =new String(“&“);
//array =Pout.split(regex1);
return null;
}
else{
System.out.println(“没有找到匹配字符“);
return null;
}
}
/*
* @param:输入的Get数据宝
* @return:返回捕获的数据
*/
//提取Header中的URL部分
static String GetURL(String url) throws IOException
{
String str =PreProcess(url);
System.out.println(str);
String regex = new String(“(\\w+):\\/\\/(.+)\\/(.+)\\?(.*)\\s*http\\/“);
Pattern pattern =Pattern.compile(regex);
Matcher m =pattern.matcher(str);
if(m.find())
{
String Pout = m.group();
return Pout ;
}
else{
return null;
}
}
//!去掉字符川中所有的空格和字符
public static String replaceBlank(String str) {
String dest = ““;
if (str!=null) {
//正则表达式
Pattern p = Pattern.compile(“\\s*|\t|\r|\n|\f“);
Matcher m = p.matcher(str);
dest = m.replaceAll(““);
}
return dest;
}
public static void main(String[] args) throws IOException {
String test= new String(“GET6787 http://comet.blog.sina.com.cn
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-03-17 12:34 XSSDefender\
文件 410 2017-03-13 15:23 XSSDefender\.classpath
文件 387 2017-03-13 08:36 XSSDefender\.project
目录 0 2017-03-13 08:41 XSSDefender\.settings\
文件 74 2017-03-13 08:41 XSSDefender\.settings\org.eclipse.core.resources.prefs
文件 598 2017-03-13 08:36 XSSDefender\.settings\org.eclipse.jdt.core.prefs
目录 0 2017-03-23 08:59 XSSDefender\bin\
目录 0 2017-03-23 08:59 XSSDefender\bin\SensitiveWord\
文件 3424 2017-03-23 08:59 XSSDefender\bin\SensitiveWord\SensitiveWordInit.class
文件 4114 2017-03-23 08:59 XSSDefender\bin\SensitiveWord\SensitivewordFilter.class
目录 0 2017-03-23 08:59 XSSDefender\bin\XSSAttackTest\
文件 4101 2017-03-24 09:34 XSSDefender\bin\XSSAttackTest\XSSTest.class
目录 0 2017-03-23 15:31 XSSDefender\bin\file\
文件 2874 2017-03-23 08:59 XSSDefender\bin\file\Decode.class
文件 795 2017-03-23 08:59 XSSDefender\bin\file\Filter.class
文件 10086 2017-03-23 08:59 XSSDefender\bin\file\FreatureExtraction.class
文件 3802 2017-03-23 08:59 XSSDefender\bin\file\HttpHeader.class
文件 707 2017-03-23 08:59 XSSDefender\bin\file\LogTable$1.class
文件 1365 2017-03-23 08:59 XSSDefender\bin\file\LogTable.class
文件 1095 2017-03-23 08:59 XSSDefender\bin\file\MaxEnt$Feature.class
文件 788 2017-03-23 08:59 XSSDefender\bin\file\MaxEnt$Instance.class
文件 6305 2017-03-23 08:59 XSSDefender\bin\file\MaxEnt.class
文件 1668 2017-03-23 08:59 XSSDefender\bin\file\Pair.class
文件 1317 2017-03-23 15:09 XSSDefender\bin\file\ProxyTask$DataSendThread.class
文件 9494 2017-03-23 15:09 XSSDefender\bin\file\ProxyTask.class
文件 3018 2017-03-23 08:59 XSSDefender\bin\file\ReadData.class
文件 2120 2017-03-23 08:59 XSSDefender\bin\file\SocketProxy.class
文件 6919 2017-03-23 08:59 XSSDefender\bin\file\StringUtils.class
文件 795 2017-03-24 14:15 XSSDefender\bin\file\XSSGUif
文件 1655 2017-03-24 14:15 XSSDefender\bin\file\XSSGUif
文件 2626 2017-03-24 14:15 XSSDefender\bin\file\XSSGUif
............此处省略39个文件信息
相关资源
- Windows bat 设置Java环境变量
- java 毕业设计 进销存管理系统 源码
- java图片浏览器跨平台运行程序与源码
- 基于java的在线考试系统-毕业设计
- 微博系统(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期末考试试题两套(答案) 选择(
评论
共有 条评论