渗透测试之正则过滤

  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页面判断代码:

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

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

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

返回值: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;

}

  

时间: 2024-10-12 06:36:32

渗透测试之正则过滤的相关文章

渗透测试之Nmap命令(二)

在<渗透测试之Nmap命令(一)>这篇博文中,已经介绍了Nmap命令的常用选项已经基本的使用方法,接下来讲一下namp的其他的一些扫描. 5. 其他扫描 5.1 SYN扫描 使用-sS选项对我们的虚拟机Ubuntu(192.168.50.12)发起一个完全开发的扫描.结果如下: 结果表明,至少192.168.50.12主机至少开放了3个端口,要确保使用不同类型的扫描对目标网络扫描,否则可能丢失一些很重要的信息导致测试结果相差很大. 5.2 NULL扫描 选用NULL扫描,再来看看结果: 结果令

js 正则过滤 行内 style 样式

js 正则过滤 style 行内样式 及 style 属性 例子:<span style="background:red;color:#fff;border:1px solid red;">你妹</span> js:var reg = /style\s*?=\s*?(['"])[\s\S]*?\1/;var result = '<span style="background:red;color:#fff;border:1px solid

web安全测试&amp;渗透测试之sql注入~~

渗透测试概念: 详见百度百科 http://baike.baidu.com/link?url=T3avJhH3_MunEIk9fPzEX5hcSv2IqQlhAfokBzAG4M1CztQrSbwsRkSerdBe17H6tTF5IleOCc7R3ThIBYNO-q 前言: 安全测试范围极广,开门见山,楼主对这行了解的也不是太深,也是在学习探索阶段,此文,也是对自己学习的总结与记录和简单的分享:这里没有具体工具的使用方法,更多的是原理细节的了解和解决方案的探讨. code部分: html+jsp

Kali Linux 渗透测试之拒绝服务攻击及防御

作为渗透测试人员,有时候需要对客户的系统进行DDOS攻击测试,那么这个时候就需要我们有一款合格的测试工具.而在Kali Linux上就集成了一些DDOS测试工具供测试者使用,下面就简单介绍一些测试工具. kali下的拒绝服务攻击: D(D)OS........................................1 yersinia......................................2 hping3................................

网络安全、Web安全、渗透测试之笔经面经总结(一)

对称加密非对称加密? 对称加密:加解密用同一密钥,密钥维护复杂n(n-1)/2,不适合互联网传输密钥,加解密效率高.应用于加密数据. 非对称加密:公钥推不出私钥,每个用户一个非对称密钥对就可以,适合于互联网传输公钥,但是加密效率低,应用于数字签名及加密. 什么是同源策略? 为了防止不同域在用户浏览器中彼此干扰,浏览器对从不同来源(域)收到的内容进行隔离. 浏览器不允许任何旧有脚本访问一个站点的cookie,否则 ,会话容易被劫持. 只有发布cookie的站点能够访问这些cookie,只有通过该站

小白日记25:kali渗透测试之提权(五)--利用配置不当提权

利用配置不当提权 与漏洞提权相比,更常见的方法.在大部分企业环境下,会有相应的补丁更新策略,因此难以通过相应漏洞进行入侵.当入侵一台服务器后,无法照当相应的补丁进行提权,可通过寻找是否存在配置不当进行提权.如:代码中没有进行参数过滤等操作. 通过查看哪些服务默认以system权限启动,可尝试将其替换或绑定反弹shell程序 了解NTFS权限允许users修改删除本身,则可利用其配置不当,完成提权 XP 安装了其他软件,打开services.msc本地服务设置,查看该软件是否以本地系统权限启动 查

小白日记11:kali渗透测试之服务扫描-banner、dmitry、nmap特征库、操作系统识别、SNMP

服务扫描 不能单纯的以端口辨别服务.很多网络服务是漏洞频发的高危对象,对网络上的特定服务进行扫描,往往能让我们少走弯路,增加渗透成功的几率.确定开放端口后,通常会对相应端口上所运行服务的信息进行更深入的挖掘,通常称为服务查点. 1.Banner捕获(最主要最简单,也是最不准确) 连接服务器的端口,利用其返回的banner信息,但可能是管理员伪造的. [软件开发商软件名称,服务类型,版本号--可直接发现已知的漏洞,但如果不是很熟悉的话,需要长时间查找资料] 必须建立完整的TCP连接,才能直接获得b

小白日记17:kali渗透测试之缓冲区溢出实例-windows,POP3,SLmail

缓冲区溢出实例 缓冲区溢出原理:http://www.cnblogs.com/fanzhidongyzby/archive/2013/08/10/3250405.html 空间存储了用户程序的函数栈帧(包括参数.局部数据等),实现函数调用机制,它的数据增长方向是低地址方向.堆空间存储了程序运行时动态申请的内存数据等,数据增长方向是高地址方向.除了代码段和受操作系统保护的数据区域,其他的内存区域都可能作为缓冲区,因此缓冲区溢出的位置可能在数据段,也可能在堆.栈段.如果程序的代码有软件漏洞,恶意程序

小白日记54:kali渗透测试之Web渗透-补充概念(AJAX,WEB Service)

补充概念 AJAX(异步javascript和XML) Asynchronous javascript and xml 是一个概念,而非一种新的编程语言,是一组现有技术的组合 通过客户端脚本动态更新页面部分内容,而非整个页面 降低带宽使用,提高速度 提升用户体验 后台异步访问 AJAX组件 Javascript:AJAX的核心组件,使用XMLHTTPRequest对象接口向服务器发起请求,接受并处理服务器响应数据 Dynamic HTML (DHTML) 早于AJAX出现,通过javascrip