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;
    
    }
    

      

     
  • 相关阅读:
    链表操作
    51nod1085-----01背包
    51nod1046快速幂取余
    51nod贪心算法入门-----任务分配问题
    51nod动态规划-----矩阵取数
    51nod贪心算法入门-----独木舟问题
    POJ2255二叉树
    POJ1182并查集
    POJ1384完全背包问题
    20162313_苑洪铭_ 第7周学习总结
  • 原文地址:https://www.cnblogs.com/Erma/p/7291721.html
Copyright © 2011-2022 走看看