`
xylw
  • 浏览: 60245 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
文章分类
社区版块
存档分类
最新评论

asp.net 仿SQL注入

 
阅读更多
using System;   
using System.Data;   
using System.Configuration;   
using System.Web;   
using System.Web.Security;   
using System.Web.UI;   
using System.Web.UI.WebControls;   
using System.Web.UI.WebControls.WebParts;   
using System.Web.UI.HtmlControls;   
using System.Data.SqlClient;   
/// <summary>   
/// SqlCheck 的摘要说明   
/// </summary>   
///    
namespace cofcms   
{   
    public class SqlCheck   
    {   
         
        public void CheckSql()   
        {   
             
            string jk1986_sql = "exec↓select↓drop↓alter↓exists↓union↓and↓or↓xor↓order↓mid↓asc↓execute↓xp_cmdshell↓insert↓update↓delete↓join↓declare↓char↓sp_oacreate↓wscript.shell↓xp_regwrite↓'↓;↓--";   
            string[] jk_sql = jk1986_sql.Split('↓');   
            foreach (string jk in jk_sql)   
            {   
                // -----------------------防 Post 注入-----------------------   
                if (System.Web.HttpContext.Current.Request.Form != null)   
                {   
                    for (int k = 0; k < System.Web.HttpContext.Current.Request.Form.Count; k++)   
                    {   
                        string getsqlkey = System.Web.HttpContext.Current.Request.Form.Keys[k];   
                        string getip;   
                        if (System.Web.HttpContext.Current.Request.Form[getsqlkey].ToLower().Contains(jk) == true)   
                        {   
                            System.Web.HttpContext.Current.Response.Write("<script Language=JavaScript>alert('请勿提交非法字符!');</" + "script>");   
                            System.Web.HttpContext.Current.Response.Write("非法操作!系统做了如下记录 ↓" + "<br>");   
                            if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)   
                            {   
                                getip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];   
                            }   
                            else  
                            {   
                                getip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];   
                            }   
                            System.Web.HttpContext.Current.Response.Write("操 作 I  P :" + getip + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("操 作 时 间:" + DateTime.Now.ToString() + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("操 作 页 面:" + System.Web.HttpContext.Current.Request.ServerVariables["URL"] + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 方 式:P O S T " + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 参 数:" + jk + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 数 据:" + System.Web.HttpContext.Current.Request.Form[getsqlkey].ToLower() + "<br>");   
                            System.Web.HttpContext.Current.Response.End();   
                        }   
                    }   
                }   
                // -----------------------防 GET 注入-----------------------   
                if (System.Web.HttpContext.Current.Request.QueryString != null)   
                {   
                    for (int k = 0; k < System.Web.HttpContext.Current.Request.QueryString.Count; k++)   
                    {   
                        string getsqlkey = System.Web.HttpContext.Current.Request.QueryString.Keys[k];   
                        string getip;   
                        if (System.Web.HttpContext.Current.Request.QueryString[getsqlkey].ToLower().Contains(jk) == true)   
                        {   
                            System.Web.HttpContext.Current.Response.Write("<script Language=JavaScript>alert('请勿提交非法字符!');</" + "script>");   
                            System.Web.HttpContext.Current.Response.Write("非法操作!系统做了如下记录 ↓" + "<br>");   
                            if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)   
                            {   
                                getip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];   
                            }   
                            else  
                            {   
                                getip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];   
                            }   
                            System.Web.HttpContext.Current.Response.Write("操 作 I  P :" + getip + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("操 作 时 间:" + DateTime.Now.ToString() + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("操 作 页 面:" + System.Web.HttpContext.Current.Request.ServerVariables["URL"] + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 方 式:G E T " + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 参 数:" + jk + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 数 据:" + System.Web.HttpContext.Current.Request.QueryString[getsqlkey].ToLower() + "<br>");   
                            System.Web.HttpContext.Current.Response.End();   
                        }   
                    }   
                }   
                // -----------------------防 Cookies 注入-----------------------   
                if (System.Web.HttpContext.Current.Request.Cookies != null)   
                {   
                    for (int k = 0; k < System.Web.HttpContext.Current.Request.Cookies.Count; k++)   
                    {   
                        string getsqlkey = System.Web.HttpContext.Current.Request.Cookies.Keys[k];   
                        string getip;   
                        if (System.Web.HttpContext.Current.Request.Cookies[getsqlkey].Value.ToLower().Contains(jk) == true)   
                        {   
                            System.Web.HttpContext.Current.Response.Write("<script Language=JavaScript>alert('请勿提交非法字符!');</" + "script>");   
                            System.Web.HttpContext.Current.Response.Write("非法操作!系统做了如下记录 ↓" + "<br>");   
                            if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)   
                            {   
                                getip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];   
                            }   
                            else  
                            {   
                                getip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];   
                            }   
                            System.Web.HttpContext.Current.Response.Write("操 作 I  P :" + getip + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("操 作 时 间:" + DateTime.Now.ToString() + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("操 作 页 面:" + System.Web.HttpContext.Current.Request.ServerVariables["URL"] + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 方 式: Cookies " + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 参 数:" + jk + "<br>");   
                            System.Web.HttpContext.Current.Response.Write("提 交 数 据:" + System.Web.HttpContext.Current.Request.Cookies[getsqlkey].Value.ToLower() + "<br>");   
                            System.Web.HttpContext.Current.Response.End();   
                        }   
                    }   
                }   
            }   
        }   
    }   
}  
分享到:
评论

相关推荐

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

    ASP.NET 防止 SQL 注入攻击的方法有很多,这些方法包括参数法防注入、传统的笨一点的办法、HttpModule 实现防sql注入、SqlFilter 防止 SQL 注入、validation 防止 SQL 注入等。只有通过使用这些方法,才能有效地防止...

    asp.net 防SQL注入(非常简洁)

    protected void Application_BeginRequest(object sender, EventArgs e) { //遍历Post参数,隐藏域除外 foreach (string i in this.Request.Form) { if (i == "__VIEWSTATE") continue; this.goErr(this....

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

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

    Asp.Net通用Sql防注入源码

    在Asp.Net开发中,SQL注入是一个非常重要的安全问题,它允许恶意用户通过输入特定的SQL语句来操控后台数据库,可能导致数据泄露、系统瘫痪甚至整个网站的安全性受到威胁。"Asp.Net通用Sql防注入源码"是针对这个问题...

    ASP.NET防SQL注入DEMO

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

    【ASP.NET编程知识】ASP.NET过滤类SqlFilter,防止SQL注入 .docx

    在现代网络技术迅速发展的今天,网络安全问题愈发受到重视,其中SQL注入攻击是一种非常严重的安全威胁,尤其对于使用ASP.NET技术构建的应用程序。SQL注入允许攻击者通过输入恶意构造的SQL代码片段,使得应用程序执行...

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

    ### ASP.NET 的 SQL 防注入过滤函数大集合 #### 概述 在 Web 开发中,SQL 注入是一种常见的安全攻击方式,它利用应用程序对用户输入数据处理不当的漏洞,将恶意 SQL 代码插入到查询语句中,进而执行非法操作。为了...

    ASP.Net C# SQL注入 跨脚步漏洞 案例

    在ASP.NET和C#环境中,如果你的代码没有正确地处理用户输入,就可能导致SQL注入。例如,如果你直接将用户输入的数据拼接到SQL查询语句中,攻击者可以构造特殊的输入,使得查询执行非预期的操作,如读取、修改或删除...

    最新ASP.NET+SQL Server项目

    7. **安全性**:学习如何实现ASP.NET的身份验证和授权机制,以及SQL Server的安全策略,如用户权限管理和SQL注入防护。 8. **性能优化**:讨论如何优化ASP.NET应用程序和SQL Server查询,提高系统性能,例如使用...

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

    ASP.NET 是一种强大的 web 应用程序开发框架,然而,如同其他基于数据库的应用程序,它也可能面临 SQL 注入式攻击的威胁。SQL 注入是一种利用恶意 SQL 代码篡改正常查询,以获取未授权访问、数据泄露或破坏数据库的...

    ASP.NET防SQL注入脚本程序

    在ASP.NET中,SQL注入是一个严重的安全问题,可能导致数据泄露、非法数据修改甚至整个系统的瘫痪。这个"ASP.NET防SQL注入脚本程序"显然是为了帮助开发者防止这种攻击而设计的。 SQL注入是黑客利用输入字段向应用...

    ASP.NET防止SQL注入函数

    ASP.NET防止SQL注入函数是开发安全Web应用程序的关键措施之一,主要目的是保护数据库不受恶意SQL语句的影响。SQL注入攻击是黑客常用的手段,通过输入含有恶意SQL命令的字符串,可能导致数据泄露、数据破坏甚至整个...

    ASP.NET+SQL Server 系统开发实例

    安全性的考虑,例如SSL/TLS加密、输入验证和防止SQL注入,也是关键部分。 此外,系统可能还包括错误处理和日志记录机制,帮助开发者在遇到问题时追踪和调试代码。性能优化也可能被考虑,比如通过缓存减少数据库查询...

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

    这个压缩包提供的源码是针对ASP.NET应用的通用防SQL注入漏洞程序,通过Global.asax文件来实现。 SQL注入是一种常见的网络安全攻击手段,攻击者通过输入恶意的SQL代码,试图获取、修改或删除数据库中的敏感信息。在...

    ASP.NET防范SQL注入式攻击的方法

    一、什么是SQL注入式攻击?  SQL注入式攻击就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,...

    asp.net防sql注入

    在ASP.NET中,防止SQL注入是确保应用程序安全性的重要环节。SQL注入是一种常见的网络安全威胁,攻击者通过输入恶意的SQL代码,试图获取未经授权的数据访问或控制数据库服务器。 **SQL注入的原理** SQL注入攻击主要...

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

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

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

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

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

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

    ASP.Net防SQL注入的HttpMoudule

    在这个特定的情况下,我们讨论的是一个名为"ASP.Net防SQL注入的HttpMoudule"的实现,它专门设计来保护应用程序免受SQL注入攻击。 SQL注入是一种常见的网络安全威胁,攻击者通过输入恶意的SQL代码到表单字段或其他...

Global site tag (gtag.js) - Google Analytics