【数据库】 防止sql注入,过滤敏感关键字

private bool FilterIllegalChar(string sWord)
{
    var result = false;
    var keyWord = @"select|insert|delete|from|count\(|drop table|update|truncate|asc\(|mid\(|char\(|xp_cmdshell|exec master|netlocalgroup administrators|:|net user|""|or|and";
    string StrRegex = @"[-|;|,|/|\(|\)|\[|\]|}|{|%|\@|*|!|‘]";
    if (Regex.IsMatch(sWord, keyWord, RegexOptions.IgnoreCase) || Regex.IsMatch(sWord, StrRegex))
        return true;

    return result;
}
时间: 2024-12-20 03:19:28

【数据库】 防止sql注入,过滤敏感关键字的相关文章

sql注入过滤的公共方法

/// <summary> ///SQL注入过滤 /// </summary> /// <param name="InText">要过滤的字符串</param> /// <returns>如果参数存在不安全字符,则返回true</returns> public static bool SqlFilter(string InText) { string word = "and|exec|insert|sel

使用SQLMAP对网站和数据库进行SQL注入攻击

from:http://www.blackmoreops.com/2014/05/07/use-sqlmap-sql-injection-hack-website-database/ 0x00 背景介绍 1. 什么是SQL注入? SQL注入是一种代码注入技术,过去常常用于攻击数据驱动性的应用,比如将恶意的SQL代码注入到特定字段用于实施拖库攻击等.SQL注入的成功必须借助应用程序的安全漏洞,例如用户输入没有经过正确地过滤(针对某些特定字符串)或者没有特别强调类型的时候,都容易造成异常地执行SQL

解析数据库以及SQL注入,大佬勿喷

1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式.数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用. 2.什么是SQL注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶

SQL注入(过滤空格和--+等注释符)

1.地址:http://ctf5.shiyanbar.com/web/index_2.php(过滤了空格和--+等注释符) 思路:确定注入参数值类型,直接输入单引号,根据报错信息确定参数值类型为字符型,如下图所示. 2.正常思路输入' or '1'='1,直接报错,信息为SQLi detected!,首先猜测or被过滤,直接去掉or,继续输入' '1'='1, 仍然报错,信息为SQLi detected!,猜测空格被过滤,直接输入'or'1'='1,如下图所示,确定空格被过滤. 3.尝试使用多行

[C++]简单的SQL注入过滤

前几天帮一个客户写了一个C++连接MySQL,当他用到他的游戏中后,被人注射了,用了一个永真式,无限的刷了游戏装备 所以,我针对参数和整体SQL语句写了两个简单的函数,进行简单的过滤 bool CheckSQL(string sql) { string key[9] = { "%","/","union","|","&","^" ,"#","/*&q

sql 注入安全过滤-安全模块

1 <?php 2 /** 3 * 安全模块 4 * Email:[email protected] 5 * 主要针对xss跨站攻击.sql注入等敏感字符串进行过滤 6 * @author hkshadow 7 */ 8 class safeMode{ 9 10 /** 11 * 执行过滤 12 * @param 1 linux/2 http/3 Db/ $group 13 * @param 保存路径以及文件名/文件名/null $projectName 14 */ 15 public func

XSS过滤JAVA过滤器filter 防止常见SQL注入

Java项目中XSS过滤器的使用方法. 简单介绍: XSS : 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意攻击用户的特殊目的. sql注入所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执

SQL注入(二)

5.限制输入长度 如果在Web页面上使用文本框收集用户输入的数据,使用文本框的MaxLength属性来限制用户输入过长的字符也是一个很好的方法,因为用户的输入不够长,也就减少了贴入大量脚本的可能性.程序员可以针对需要收集的数据类型作出一个相应的限制策略. 6.URL重写技术 我们利用URL重写技术过滤一些SQL注入字符,从而达到防御SQL注入.因为许多SQL注入是从URL输入发生的. 7.传递参数尽量不是字符 假设我们显示一篇新闻的页面,从URL传递参数中获得newid我们可能会随手写下下面的代

开发反模式 - SQL注入

一.目标:编写SQL动态查询 SQL常常和程序代码一起使用.我们通常所说的SQL动态查询,是指将程序中的变量和基本SQL语句拼接成一个完整的查询语句. string sql = SELECT * FROM Person WHERE Id = $Id 我们期望$Id是一个整型,因此当数据库接收到这个请求时,$Id的值就是查询语句的一部分. SQL动态查询是有效利用数据库很自然的方法.当你使用程序内的变量来指定如何进行查询时,就是将SQL作为连接程序和数据库的桥梁.程序和数据库之间通过这种方式进行“