`
hududanyzd
  • 浏览: 778486 次
文章分类
社区版块
存档分类
最新评论

如何编写通用的ASP防SQL注入攻击程序

 
阅读更多

SQL注入被那些菜鸟级别的所谓黑客高手玩出了滋味,发现现在大部分黑客入侵都是基于SQL注入实现的,哎,谁让这个入门容易呢,好了,不说废话了,现在我开始说如果编写通用的SQL防注入程序一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到SQL注入攻击。

  IIS传递给asp.dll的get 请求是是以字符串的形式,,当 传递给Request.QueryString数据后,asp解析器会分析Request.QueryString的信息,,然后根据"&",分出各个数组内的数据所以get的拦截如下:

  首先我们定义请求中不能包含如下字符:

以下为引用的内容:
'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare


  各个字符用"|"隔开,,然后我们判断的得到的Request.QueryString,具体代码如下 :

以下为引用的内容:
dim sql_injdata
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj = split(SQL_Injdata,"|")
If Request.QueryString<>"" Then
 For Each SQL_Get In Request.QueryString
  For SQL_Data=0 To Ubound(SQL_inj)
   if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
    Response.Write "<Script Language=****>alert('天下电影联盟SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!');history.back(-1)</Script>"
    Response.end
   end if
  next
 Next
End If


  这样我们就实现了get请求的注入的拦截,但是我们还要过滤post请求,所以我们还得继续考虑request.form,这个也是以数组形式存在的,我们只需要再进一次循环判断即可。代码如下:

以下为引用的内容:
If Request.Form<>"" Then
 For Each Sql_Post In Request.Form
  For SQL_Data=0 To Ubound(SQL_inj)
   if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
    Response.Write "<Script Language=****>alert('天下电影联盟SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!nnHTTP://www.521movie.com ');history.back(-1)</Script>"
    Response.end
   end if
  next
 next
end if


  好了大功告成,我们已经实现了get和post请求的信息拦截,你只需要在conn.asp之类的打开数据库文件之前引用这个页面即可。放心的继续开发你的程序,不用再考虑是否还会受到SQL注入攻击。难道不是么?

分享到:
评论

相关推荐

    SQL注入全面讲解技术文档

    4.编写通用的ASP防SQL注入攻击程序 22 5.利用instr()函数防止SQL注入攻击 23 6.跨站式SQL注入技巧 25 7. 防范Sql注入式攻击 27 8.PHP与SQL注入攻击 29 9.SQL注入攻击零距离 30 10.SQL注入技术和跨站脚本攻击的检测 ...

    Asp.Net通用Sql防注入源码

    Asp.Net通用Sql防注入源码 Asp.Net程序员预防程序被sql注入攻击的必备知识.

    SQL注入漏洞攻防攻略大全

    SQL注入漏洞攻防攻略大全 目录 SQL注入漏洞攻防攻略大全 1 (一) SQL注入漏洞全接触--入门篇...(五) 编写通用的ASP防SQL注入攻击程序 28 (六) SQL注入攻击的原理及其防范措施 30 (七) 利用instr()函数防止SQL注入攻击 34

    ASPXSQL凌讯ASP.NET通用防SQL注入脚本系统 v3.0

    ASPXSQL凌讯ASP.NET通用防SQL注入脚本系统 v3.0

    SQL通用防注入系统3.1β版

    Neeao_SqlIn.Asp 防SQl注入主文件,需要注意以下几点: Neeao_sql_admin.asp 后台管理文件 关于以前版本的升级,直接覆盖文件和数据库即可使用! 注意:请用记事本打开Neeao_sql_admin.asp修改里面的管理密码! ...

    编写通用的asp防注入程序

    现在我开始说如果编写通用的sql防注入程序 一般的http请求不外乎 get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中 非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到...

    SQL通用防注入程序 v3.1 最终纪念版

    Neeao_SqlIn.Asp 防SQl注入主文件,需要注意以下几点: Neeao_sql_admin.asp 后台管理文件 关于以前版本的升级,直接覆盖文件和数据库即可使用! 注意:请用记事本打开Neeao_sql_admin.asp修改里面的管理密码! ...

    SQL通用防注入程序 v3.1 最终纪念版.rar

    与v3.1beta版相比有以下的更新: ...对于v3.1beta版中由于加入的对于js程序过滤的功能而引起的安全问题做了修正 对于v3.1beta版可能引起的跨站攻击做了修正 将v3.1beta版中的安全表单升级为安全页面

    ASP-ISAPI通用防注入过滤器 v1.0

    能在ASP程序本身存在注入漏洞的情况下防御注入攻击。同时它还具备防数据库下载、防止数据库扩展名被修改为asp后插入ASP语句攻击等功能。内核全部采用C++编写,运行速度快。与ASP版的通用防注入系统相比具有安全性、...

    SQL通用防注入系统3.2 beta

    3.1 β版 加入对cookie部分的过滤,加入了对用js书写的asp程序的支持,加入了对安全表单的取消过滤! 3.1 最终纪念版, * 对于3.1beta版中由于加入的对于js程序过滤的功能而引起的安全问题做了修正。 * 对于3.1...

    asp中一段防SQL注入的通用脚本

    ‘屏蔽通过地址栏攻击 url=Request.ServerVariables(“QUERY_STRING”) if instr(url,”;”)>=1 then url=Replace(url,”;”,”;”) : Response.Redirect(“?” & url) end if ‘屏蔽通过表单攻击 for...

    360通用asp防护代码(防sql注入)

    这个是360出的防sql注入的源码,可以防止注入漏洞,跨站攻击漏洞,如果您的网站被360扫描,不管怎么修改都报毒请用这个代码试试看。这是360提供的一个asp公用代码,效果不错哦。

    asp.net(C#)防sql注入组件的实现代码

    在服务器安全栏目里我写过一篇《破解通用Sql防注入方法》的文章中说到,一些通用的防注入方法中没有对cookie数据进行过滤,会给黑客留下可乘之机。当然我的这段代码对提交过来的cookie数据也进行了过滤。 代码: ...

    asp.net下检测SQL注入式攻击代码

    两个类: (页面数据校验类)PageValidate.cs 基本通用。 代码如下: 代码如下:using System; using System.Text; using System.Web; using System.Web.UI.WebControls; using System.Text.RegularExpressions; ...

    深度学习(asp)CMS系统 Ver3.5.1

    系统防止SQL注入攻击,对密码进行 MD5 不可逆加密处理。用户:admin 密码:admin ---------------------------------------------------------------- 【程序主要功能】 1、文章栏目无限级分类、自由添加,排序 2...

    tot-asp-scan.rar

    放入conn.asp中(拒绝攻击 万能Asp防注入代码) 网站运行更安全 SQL通用防注入系统3.1 最终纪念版

    ASP新版深度学习整站系统程序 v2.1.2

    系统防止SQL注入攻击,对密码进行 MD5 不可逆加密处理。用户:admin 密码:admin【程序主要功能】1、文章栏目无限级分类、自由添加,排序2、文章可视化的在线编辑器提供了强大的图文混排功能,在线添加、编辑、删除3...

    asp.net知识库

    最详细的SQL注入相关的命令整理 Oracle Oracle中PL/SQL单行函数和组函数详解 mssql+oracle Oracle编程的编码规范及命名规则 Oracle数据库字典介绍 0RACLE的字段类型 事务 CMT DEMO(容器管理事务演示) 事务隔离性的...

    浅析基于asp.net的网站安全漏洞及防范

    针对网络安全中出现的一些问题,介绍在sql注入式攻击、查询串式数据传递、绕过登录直接进入页面、输入框中输入恶意代码、数据库等几方面存在的漏洞,并对这些漏洞进行分析,提出一些防范建议,适合网管人员学习。

    集ACCESS与SQL数据类

    4,安全性高,可完全抵御SQL注入的攻击(须使用参数化查询) 5,比起传统开发,你只需手写25%甚至更少的代码量 6,数据库打开与关闭的智能判断 7,完美兼容SQL Server2000和2005两种版本的数据库 使用技巧总归纳: 1...

Global site tag (gtag.js) - Google Analytics