方法1: Replace过滤字符

解决方法:查找login.asp下的<from找到下边的类似username=request.Form(”name”)

pass=request.Form(”pass”)
修改为:username=Replace(request.Form(”name”), “’”, “’’”)

pass=Replace(request.Form(”pass”), “’”, “’’”)
语法是屏蔽’和’’字符来达到效果.

方法2:在conn.asp 内引入safe.asp文件
注意:前提是登陆页面有引入conn.asp文件
把以下代码保存为safe.asp

程序代码

<%

Dim Query_Badword,Form_Badword,i,Err_Message,Err_Web,name

Err_Message = 3

Err_Web = “safe.htm”

’出错时转向的页面

Query_Badword=”’|and|select|update|chr|delete|%20from|;|insert|mid|master.|set|chr(37)|=”

’在这部份定义get非法参数,使用”|”号间隔

Form_Badword=”’|(|)|;|=”

’在这部份定义post非法参数,使用”|”号间隔

On Error Resume Next

if request.QueryString”" then

Chk_badword=split(Query_Badword,”|”)

FOR EACH Query_Name IN Request.QueryString

for i=0 to ubound(Chk_badword)

If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i))0 Then

Select Case Err_Message

Case “1″

Response.Write “alert(’传参错误!参数 “&name&” 的值中包含非法字符串! 请不要在参数中出现:and update delete ; insert mid master 等非法字符!’);window.close();”

Case “2″

Response.Write “location.href=’”&Err_Web&”’”

Case “3″

Response.Write “alert(’传参错误!参数 “&name&”的值中包含非法字符串! 请不要在参数中出现:and update delete ; insert mid master 等非法字符!’);location.href=’”&Err_Web&”’;”

End Select

Response.End

End If

NEXT

NEXT

End if

if request.form”" then

Chk_badword=split(Form_Badword,”|”)

FOR EACH name IN Request.Form

for i=0 to ubound(Chk_badword)

If Instr(LCase(request.form(name)),Chk_badword(i))0 Then

Select Case Err_Message

Case “1″

Response.Write “alert(’出错了!表单 “&name&” 的值中包含非法字符串! 你的非法操作已记录,请马上停止非法行为!’);window.close();”

Case “2″

Response.Write “location.href=’”&Err_Web&”’”

Case “3″

Response.Write “alert(’出错了!参数 “&name&”的值中包含非法字符串! 谢谢您光临!,请停止非法行为!’);location.href=’”&Err_Web&”’;”

End Select

Response.End

End If

NEXT

NEXT

end if

%>

案例:http://www.wooyun.org/bugs/wooyun-2010-024354

大学站防SQL注入代码(ASP版)的更多相关文章

  1. C#防SQL注入代码的实现方法

    对于网站的安全性,是每个网站开发者和运营者最关心的问题.网站一旦出现漏洞,那势必将造成很大的损失.为了提高网站的安全性,首先网站要防注入,最重要的是服务器的安全设施要做到位. 下面说下网站防注入的几点 ...

  2. 防SQL注入代码(ASP版)

    <% Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx '---定义部份 头------ Fy_Cl = 1 '处理方式:1=提示信息,2=转向页面, ...

  3. php防sql注入过滤代码

    防止sql注入的函数,过滤掉那些非法的字符,提高sql安全性,同时也可以过滤XSS的攻击. function filter($str) { if (empty($str)) return false; ...

  4. Java 防SQL注入过滤器(拦截器)代码

    原文出自:https://blog.csdn.net/seesun2012 前言 浅谈SQL注入:        所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符 ...

  5. Sqlparameter防SQL注入

    一.SQL注入的原因 随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对 ...

  6. .Net防sql注入的方法总结

    #防sql注入的常用方法: 1.服务端对前端传过来的参数值进行类型验证: 2.服务端执行sql,使用参数化传值,而不要使用sql字符串拼接: 3.服务端对前端传过来的数据进行sql关键词过来与检测: ...

  7. 【荐】PDO防 SQL注入攻击 原理分析 以及 使用PDO的注意事项

    我们都知道,只要合理正确使用PDO,可以基本上防止SQL注入的产生,本文主要回答以下几个问题: 为什么要使用PDO而不是mysql_connect? 为何PDO能防注入? 使用PDO防注入的时候应该特 ...

  8. nginx服务器防sql注入/溢出攻击/spam及禁User-agents

    本文章给大家介绍一个nginx服务器防sql注入/溢出攻击/spam及禁User-agents实例代码,有需要了解的朋友可进入参考. 在配置文件添加如下字段即可  代码如下 复制代码 server { ...

  9. 防SQL注入:生成参数化的通用分页查询语句

    原文:防SQL注入:生成参数化的通用分页查询语句 前些时间看了玉开兄的“如此高效通用的分页存储过程是带有sql注入漏洞的”这篇文章,才突然想起某个项目也是使用了累似的通用分页存储过程.使用这种通用的存 ...

随机推荐

  1. 【Codeforces 723C】Polycarp at the Radio 贪心

    n个数,用最少的次数来改变数字,使得1到m出现的次数的最小值最大.输出最小值和改变次数以及改变后的数组. 最小值最大一定是n/m,然后把可以改变的位置上的数变为需要的数. http://codefor ...

  2. MySQL 配置优化

    1.   连接请求的变量: A.max_connections 如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量, 当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySQL ...

  3. Perl 的面向对象编程

    转自 http://net.pku.edu.cn/~yhf/tutorial/perl/perl_13.html 拓展阅读 http://bbs.chinaunix.net/forum.php?mod ...

  4. 【bzoj1951】 Sdoi2010—古代猪文

    http://www.lydsy.com/JudgeOnline/problem.php?id=1951 (题目链接) 题意 废话一堆..求解: Solution 真的是数论经典题,什么都用上了. 因 ...

  5. PowerDesigner中列表显示TABLE的NAME而不是CODE

    如题, 解决方法: tools-->modeloptions-->naming convention-->display,选择NAME 如图所示:

  6. 洛谷P2242 公路维修问题(Road)

    题目描述 在一个夜黑风高,下着暴风雨的夜晚,farmer John的牛棚的屋顶.门被吹飞了. 好在许多牛正在度假,所以牛棚没有住满. 牛棚一个紧挨着另一个被排成一行,牛就住在里面过夜. 有些牛棚里有牛 ...

  7. ecshop /includes/init.php Arbitrary User Login Vul

    catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 对用户输入的cookie,判断免登的逻辑中存在漏洞,导致黑客可以直接通过 ...

  8. web开发 虚拟目录映射

    A 当服务器和 web应用不在一个目录下 $CATALINA_BASE/conf/catalina/localhost/ 文件夹下创建一个xml文件,任意文件名都可以,但是此文件名是web应用发布后的 ...

  9. SQL Server 分页

    select top "+pageSize+" * from Table where id not in (select top "+(currentPage - 1) ...

  10. AngularJs ngList、ngRepeat、ngModelOptions

    ngList 在文本输入的分隔的字符串和字符串数组间做转换,可以是一个固定的字符串分隔符(默认逗号)或正则表达式. 格式:ng-list=”value” value:表达式  通过这个值分隔字符串. ...