资源简介
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个文件信息
相关资源
- 动物识别Java实现含界面
- Java实现野人过河问题含界面
- javamail jar包
- 数据结构(超详细!!!java版本)
- 简单的数字签名系统
- Java实现与FTP服务器的数据传输2
- Java 文件操作实现 通讯录
- 通讯录管理系统java
-
org.springfr
amework.context.support-3.0.5.R - JAVA国密算法pnc,sm2,sm3,sm4,jar包直
- 智能家居_安卓java程序源码
- java-unrar-0.3.jar以及commons-logging-1.1.1.
- javax.jar包
- ftp程序源码
- java实现ftp服务器端配套程序
- java通过JDBC链接SQLServer2016
- 基于javaweb 的bootstrap table使用案例
- Java和Highcharts实现折线图
- myeclipse 导出jar
- Java实现Map集合二级联动
- FTPUpload上传文件 进度条显示进度
- Java画图 源代码
- java3D安装教程
- java汇率转换
- Java课程设计-简单计算器含完整源代码
- java 课程设计仓库管理系统Java+MySQL
- java和SqlServer的Swing项目
- 职工管理系统 java SQL
- java中文汉字笔画排序
- Java实现循环冗余码CRC生成算法源代码
评论
共有 条评论