博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
渗透测试之正则过滤
阅读量:6220 次
发布时间:2019-06-21

本文共 1205 字,大约阅读时间需要 4 分钟。

  1. .使用正则表达式过滤传入的参数

正则表达式:

“^(.+)\\sand\\s(.+)|(.+)\\sor(.+)\\s$”

判断是否匹配:

检测SQL meta-characters的正则表达式 :

/(\%27)|(\’)|(\-\-)|(\%23)|(#)/ix

修正检测SQL meta-characters的正则表达式 :/((\%3D)|(=))[^\n]*((\%27)|(\’)|(\-\-)|(\%3B)|(:))/i

典型的SQL 注入攻击的正则表达式 :/\w*((\%27)|(\’))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix

检测SQL注入,UNION查询关键字的正则表达式 :/((\%27)|(\’))union/ix(\%27)|(\’)

检测MS SQL Server SQL注入攻击的正则表达式:

/exec(\s|\+)+(s|x)p\w+/ix

 

  1. 字符串过滤

比较通用的一个方法:

(||之间的参数可以根据自己程序的需要添加)

 "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,";

 

  1. jsp中调用该函数检查是否包函非法字符

 

防止SQL从URL注入:

 

 "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|;|or|-|+|,";

//这里的东西还可以自己添加

String[] inj_stra=inj_str.split("\\|");

for (int i=0 ; i < inj_stra.length ; i++ )

{

if (str.indexOf(inj_stra[i])>=0)

{

return true;

}

}

return false;

}

}

 

  1. JSP页面判断代码:

 

使用在客户端进行不安全字符屏蔽

功能介绍:检查是否含有”‘”,”\\”,”/”

参数说明:要检查的字符串

返回值:0:是1:不是

函数名是

function check(a){return 1;fibdn = new Array (”‘” ,”\\”,”/”);i=fibdn.length;j=a.length;for (ii=0; ii<i; ii++){ for (jj=0; jj<j; jj++){ temp1=a.charAt(jj);temp2=fibdn[ii];if (tem’; p1==temp2){ return 0; }}}return 1;}

  

 

转载于:https://www.cnblogs.com/Erma/p/7291721.html

你可能感兴趣的文章
逆元求法(转)
查看>>
HDU 4162 Shape Number【字符串最小表示】
查看>>
项目Beta冲刺(团队1/7)
查看>>
图片垂直居中的方法(适合只有一行文字和图片)
查看>>
HTTP、HTTP1.0、HTTP1.1、HTTP2.0、HTTPS
查看>>
XML约束技术
查看>>
Ubuntu软件包管理器
查看>>
【03】循序渐进学 docker:基础命令
查看>>
【转】Deep Learning(深度学习)学习笔记整理系列之(四)
查看>>
Protostuff序列化
查看>>
Servlet & Jsp
查看>>
python Image模块基本语法
查看>>
DS博客作业01--日期抽象数据类型设计与实现
查看>>
docker镜像的操作
查看>>
Tomcat 9.0安装配置
查看>>
mybatis :实现mybatis分页
查看>>
hdu-2685 I won't tell you this is about number theory---gcd和快速幂的性质
查看>>
异常处理
查看>>
家庭记事本开发进度2
查看>>
[Azure] 使用 Visual Studio 2013 管理中国版 Azure 订阅
查看>>