欢迎来到天天文库
浏览记录
ID:24717426
大小:50.50 KB
页数:3页
时间:2018-11-15
《如何编写通用的asp防sql注入攻击程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、如何编写通用的ASP防SQL注入攻击程序>>教育资源库 SQL注入被那些菜鸟级别的所谓黑客高手玩出了滋味,发现现在大部分黑客入侵都是基于SQL注入实现的,哎,谁让这个入门容易呢,好了,不说废话了,现在我开始说如果编写通用的SQL防注入程序一般的http请求不外乎get和post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http请求信息过滤就可以判断是是否受到SQL注入攻击。 IIS传递给asp.dll的get请求是是以字符串的形式,,当传递给Request.QueryString数
2、据后,asp解析器会分析Request.QueryString的信息,,然后根据"",分出各个数组内的数据所以get的拦截如下: 首先我们定义请求中不能包含如下字符:以下为引用的内容:'
3、and
4、exec
5、insert
6、select
7、delete
8、update
9、count
10、*
11、%
12、chr
13、mid
14、master
15、truncate
16、char
17、declare 各个字符用"
18、"隔开,,然后我们判断的得到的Request.QueryString,具体代码如下:以下为引用的内容:dimsql_injdataSQL_injdata="'
19、and
20、
21、exec
22、insert
23、select
24、delete
25、update
26、count
27、*
28、%
29、chr
30、mid
31、master
32、truncate
33、char
34、declare"SQL_inj=split(SQL_Injdata,"
35、")IfRequest.QueryString<>""Then ForEachSQL_GetInRequest.QueryString ForSQL_Data=0ToUbound(SQL_inj) ifinstr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0Th
36、en Response.,这个也是以数组形式存在的,我们只需要再进一次循环判断即可。代码如下:以下为引用的内容:IfRequest.Form<>""Then ForEachSql_PostInRequest.Form ForSQL_Data=0ToUbound(SQL_inj) ifinstr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0Then Response.ovie.');history.back(-1)</Script>" Response.end end
37、if next nextendif 好了大功告成,我们已经实现了get和post请求的信息拦截,你只需要在conn.asp之类的打开数据库文件之前引用这个页面即可。放心的继续开发你的程序,不用再考虑是否还会受到SQL注入攻击。难道不是么?>>>>这篇文章来自..,。
此文档下载收益归作者所有