`
keller
  • 浏览: 48106 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

.Net下一招搞定SQL注入攻击

    博客分类:
  • .Net
阅读更多

在Global.asax中加入以下语句就可以了

 void Application_BeginRequest(Object sender, EventArgs e)
    {
        StartProcessRequest();

    }

   
     #region SQL注入式攻击代码分析
    ///  <summary>
    /// 处理用户提交的请求
    ///  </summary>
    private void StartProcessRequest()
    {
        try
        {
            string getkeys = "";
            string sqlErrorPage = "~/default.aspx";//转向的错误提示页面
            if (System.Web.HttpContext.Current.Request.QueryString != null)
            {

                for (int i = 0; i  < System.Web.HttpContext.Current.Request.QueryString.Count; i++)
                {
                    getkeys = System.Web.HttpContext.Current.Request.QueryString.Keysidea [i];
                    if (!ProcessSqlStr(System.Web.HttpContext.Current.Request.QueryString[getkeys]))
                    {
                        System.Web.HttpContext.Current.Response.Redirect(sqlErrorPage);
                        System.Web.HttpContext.Current.Response.End();
                    }
                }
            }
            if (System.Web.HttpContext.Current.Request.Form != null)
            {
                for (int i = 0; i  < System.Web.HttpContext.Current.Request.Form.Count; i++)
                {
                    getkeys = System.Web.HttpContext.Current.Request.Form.Keysidea [i];
                    if (getkeys == "__VIEWSTATE") continue;
                    if (!ProcessSqlStr(System.Web.HttpContext.Current.Request.Form[getkeys]))
                    {
                        System.Web.HttpContext.Current.Response.Redirect(sqlErrorPage);
                        System.Web.HttpContext.Current.Response.End();
                    }
                }
            }
        }
        catch
        {
            // 错误处理: 处理用户提交信息!
        }
    }
    ///  <summary>
    /// 分析用户请求是否正常
    ///  </summary>
    ///  <param name="Str">传入用户提交数据 </param>
    ///  <returns>返回是否含有SQL注入式攻击代码 </returns>
    private bool ProcessSqlStr(string Str)
    {
        bool ReturnValue = true;
        try
        {
            if (Str.Trim() != "")
            {
                string SqlStr = "and ¦exec ¦insert ¦select ¦delete ¦update ¦count ¦* ¦chr ¦mid ¦master ¦truncate ¦char ¦declare¦drop";

                string[] anySqlStr = SqlStr.Split('¦');
                foreach (string ss in anySqlStr)
                {
                    if (Str.ToLower().IndexOf(ss) >= 0)
                    {
                        ReturnValue = false;
                        break;
                    }
                }
            }
        }
        catch
        {
            ReturnValue = false;
        }
        return ReturnValue;
    }
    #endregion

 

http://www.zgkw.cn/forums/forums/thread/73963.aspx

分享到:
评论

相关推荐

    ASP.NET源码——通用防SQL注入漏洞程序(Global.asax方式).zip

    SQL注入是一种常见的网络安全攻击手段,攻击者通过输入恶意的SQL代码,试图获取、修改或删除数据库中的敏感信息。在ASP.NET中,如果不进行适当的参数化查询或预编译语句,就容易遭受这种攻击。 这个程序的核心原理...

    ASP.NET网站中防SQL注入攻击技术的研究

    本文主要针对目前ASP.NET 网站安全面临的SQL注入攻击来进行分析研究,并从客户端和服务器端两个方面来研究如何防范SQL注入攻击。

    asp.net和vb.net 防止sql注入源码

    详细的介绍了防止sql注入攻击,内附asp.net 源码和vb.net源码。是初学者不错的选择。希望能够帮助到你。

    史上最全的.net 防止sql注入攻击的替换文本

    针对这一问题,《史上最全的.NET防止SQL注入攻击的替换文本》提供了一系列策略和方法,尤其聚焦于如何在.NET框架下通过字符串处理来防御SQL注入。 ### SQL注入攻击原理 SQL注入攻击主要是利用应用程序对用户输入...

    简单的asp.net登陆有一定的sql防注入功能

    标题提到的"简单的asp.net登陆有一定的sql防注入功能",意味着这个示例将展示一种基础的方法来防止SQL注入攻击。在ASP.NET中,通常我们会使用参数化查询或存储过程来避免这种情况,但在这个例子中,它可能通过一个...

    ASP.NET中如何防范SQL注入式攻击

     好在要防止ASP.NET应用被SQL注入式攻击闯入并不是一件特别困难的事情,只要在利用表单输入的内容构造SQL命令之前,把所有输入内容过滤一番就可以了。过滤输入内容可以按多种方式进行。  ⑴ 对于动态构造SQL查询...

    ASP.NET(c#)防SQL注入脚本程序 v2.0 .rar

    ASP.NET(C#)防SQL注入脚本程序v2.0是一个重要的安全工具,用于保护Web应用程序免受SQL注入攻击。SQL注入是一种常见的网络安全威胁,攻击者通过输入恶意的SQL代码来操纵数据库,可能导致数据泄露、系统瘫痪甚至完全...

    Asp.Net通用Sql防注入源码

    "Asp.Net通用Sql防注入源码"是针对这个问题提供的一种解决方案,旨在帮助Asp.Net程序员更好地保护他们的应用程序免受SQL注入攻击。 SQL注入攻击通常发生在应用程序没有正确验证或清理用户输入时。例如,当用户在...

    asp.net的SQL防注入过滤函数大集合

    本文档介绍了一组 ASP.NET 中用于预防 SQL 注入攻击的过滤函数,并提供了一个简单的示例。 #### 关键知识点解析 ##### 1. **SqlFilter2 函数** 这是一个典型的 SQL 注入过滤函数,用于检测传入字符串是否包含可能...

    ASP.NET防止SQL注入函数

    ASP.NET防止SQL注入函数是开发安全Web应用程序的关键措施...总之,ASP.NET防止SQL注入函数是确保Web应用程序安全性的重要一环,通过编写和使用这样的函数,我们可以显著降低SQL注入攻击的风险,保障系统和数据的安全。

    ASP.NET(VB.NET)防SQL注入脚本程序.rar

    ASP.NET (VB.NET) 防SQL注入脚本程序是一个重要的安全工具,旨在保护Web应用程序免受SQL注入攻击。SQL注入是一种常见的网络安全威胁,黑客通过输入恶意SQL代码来操纵数据库,获取敏感信息或破坏系统。在ASP.NET (VB...

    【ASP.NET编程知识】ASP.NET防止SQL注入的方法示例.docx

    随着互联网的普及,Web 应用程序变得越来越普遍,而 ASP.NET 作为一个流行的 Web 开发框架,也因此而面临着各种安全威胁,其中最常见的便是 SQL 注入攻击。SQL 注入攻击是一种常见的 Web 应用程序安全漏洞,它是指...

    asp.net简单防范sql注入漏洞

    asp.net简单防范sql注入漏洞 防止 sql注入攻击 1 限制 文本框的最大长度 2 删除用户的单引号 3 处理sql注入的另外一个方法是 使用ado.net command对象的参数集合。 而不是评接多个字符串

    .NET6WebAPI使用Sqlserver+JWT增删改查

    在本项目中,".NET6WebAPI使用Sqlserver+JWT增删改查"是一个基于最新.NET框架.NET6构建的Web应用程序示例,主要用于演示如何利用ASP.NET Core Web API与SQL Server数据库进行数据操作,以及结合JWT(JSON Web Tokens...

    ASP.NET防SQL注入DEMO

    在本文中,我们将深入探讨如何在ASP.NET中防止SQL注入攻击,这是一个重要的安全问题,对任何处理数据库交互的应用来说都是至关重要的。 SQL注入是黑客利用不安全的代码向数据库发送恶意SQL语句,从而获取、修改、...

    .NET的SQL防注入

    本文将详细介绍一种在.NET框架下实现的SQL注入防护机制,并通过一个具体的代码示例进行说明。 #### 二、SQL注入原理 SQL注入攻击主要利用了应用程序对用户输入的数据缺乏有效的验证与过滤这一漏洞。攻击者可以通过...

    基于ASP.NET平台的SQL注入攻击研究.pdf

    标题中的“基于ASP.NET平台的SQL注入攻击研究”是一个关于网络安全和数据库管理的主题,主要探讨的是在使用ASP.NET开发Web应用程序时,如何防止SQL注入攻击。SQL注入是一种常见的网络安全威胁,攻击者通过输入恶意的...

    在ASP.NET中如何正确书写SQL字符串

    注意,为了防止SQL注入攻击,这里应该使用参数化查询而不是直接拼接字符串。但在本例中,我们将重点放在如何正确书写SQL字符串上。 #### 四、注意事项 1. **双引号与单引号的使用**:在构建SQL字符串时,必须注意...

Global site tag (gtag.js) - Google Analytics