zoukankan      html  css  js  c++  java
  • 渗透测试之正则过滤

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

    正则表达式:

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

    判断是否匹配:

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

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

    修正检测SQL meta-characters的正则表达式 :/((\%3D)|(=))[^ ]*((\%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)pw+/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;
    
    }
    

      

     
  • 相关阅读:
    java链接linux服务器,命令操作
    linux中php项目无法发送邮件:PEAR mail package is not installed
    linux下部署php项目-Apache、php、mysql关联
    MyEclipse黑色主题
    MyEclipse优化-六步攻略
    致产品
    万物归宗
    【产品渗透:移动端平台与纯应用APP产品的相互嵌入】
    【异类--一万小时定律】
    【活法】
  • 原文地址:https://www.cnblogs.com/Erma/p/7291721.html
Copyright © 2011-2022 走看看