欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【如何编写通用的ASP防SQL注入攻击程序】,下面是详细的分享!
如何编写通用的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 |
这样我们就实现了get请求的注入的拦截,但是我们还要过滤post请求,所以我们还得继续考虑request.form,这个也是以数组形式存在的,我们只需要再进一次循环判断即可。代码如下:
|
以下为引用的内容: If Request.Form<>"" Then |
好了大功告成,我们已经实现了get和post请求的信息拦截,你只需要在conn.asp之类的打开数据库文件之前引用这个页面即可。
以上所分享的是关于如何编写通用的ASP防SQL注入攻击程序,下面是编辑为你推荐的有价值的用户互动:
相关问题:asp.net怎么能够更好的防止sql注入式攻击?
答:1、代码的严谨,尤其是与数据库链接的代码,现在一般都是写在web.config中,这在一定的程度上也起到了防攻击。 2、你的数据库模型设计的更加严谨一些,一个是增加可读性,一个是对关键字段的识别。 3、当然,还有其他一些防止sql注入式攻击的手... >>详细
相关问题:sql注入攻击怎么解决
答:百度百科: SQL注入攻击是你需要担心的事情,不管你用什么web编程技术,再说所有的web框架都需要担心这个的。你需要遵循几条非常基本的规则: 1)在构造动态SQL语句时,一定要使用类安全(type-safe)的参数加码机制。大多数的数据API,包括ADO... >>详细
相关问题:什么叫做SQL注入,如何防止?请举例说明。
答:sql注入就是,通过语句的连接做一些不是你想要的操作..举个例子你就懂了例如你要查询id=1的记录,直接连接就是这样"select * from tableName where id=1"别人可以写成"select * from tableName where id=1;delete from tableName" 这样就把你的表... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
