- 热门文章:
- · Google还可以这样用
- · Smail堆溢出漏洞允许远程攻击者获得Root权限
- · Linux下软件的安装与卸载
- · 学习设置端口映射
- · 收藏经典:windows消息大全
- · 一行代码崩溃IE
- · 脚本安全和利用
- · 亲手打造一个QQ恶作剧程序
- · CCIE:年薪翻了两倍
- · Linux认证基本知识介绍
- · 思科认证考生问答集
- · 微软认证考试的几种形式
上一篇:VMware还是微软?虚拟机的选择权就在你手中 >>
asp中获取安全的参数
究其原因,主要是对客户端传送参数的随意性导致的,因此只要有效保证了传入参数,就可以避免注入攻击。
在这里我简单的讲传入参数分为两种:数字型和字符串型。
字符串型:目前的解决办法来看,就是过滤单引号了。过滤单引号之后的字串要进行注入,至少我还没想到什么有效的办法。
数字型:过滤引号是不够的!还必须确定是数字型!因为sql可以执行转换为16进制数值的查询语句,所以只要将注入语句转换为16进制字符串附加在参数当中,就可以逃避对引号的判断。
因此综合上面的分析,只要判断了参数类型,然后针对字符串参数加以过滤就可以简单的避免sql注入了。
但是在写程序过程中,尤其是vbscript这样的弱类型语言,难免有疏漏的时候,所以我写了下面这个函数,如果所有的传入参数都经过这个函数进入,作为程序得一个小的"防火墙"就可以很有效的避免上面所说的攻击了。
'=========================================================
' function getrequest(byval str,byval stype) str为传入的参数名称,stype为限定的类型(int、str),requesttype为查询的类型(form、querystring、servervariables)。
' get the request str with type
'=========================================================
public function getrequest(byval str,byval stype,byval requesttype)
dim requeststr
if requesttype="form" then
requeststr = request.form(str)
else if requesttype = "querystring" then
requeststr = request.querystring(str)
else if requesttype = "servervariables" then
requeststr = request.servervariables(str)
else
response.write("错误的查询类型")
response.end
exit function
end if
if isnull(requeststr) then
getrequest = ""
exit function
end if
if stype="int" then
if isnumeric(requeststr) then
getrequest = requeststr
exit function
else
response.write("参数类型错误")
response.end
exit function
end if
end if
requeststr = replace(requeststr,chr(0),"")
requeststr = replace(requeststr,"'","''")
getrequest = requeststr
end function
注:在下水平有限,不当之处请各位指教。
()
下一篇:Google还可以这样用 >>
相关文章:
- · 利用SSH从外网安全地访问PIX防火墙
- · 多网段环境下的Windows文件夹共享解决
- · 防火墙中使用Telnet、FTP、RealAudio
- · 网络经典命令行-网络安全工作者必杀技
- · Java 程序编码规范
- · FTP 鸡肉制作
- · 安全程序员必读书籍清单
- · 编辑web.config,保证ASP.NET的安全
- · 修复ADSL的Firmware之手记
- · Microsoft平台下的find在网络管理中的妙用
- · 利用组策略对象(GPOs)防止匿名登录
- · 删除系统顽固文件的十二招技巧
- · DoS攻击隐身于合法指令中 难以完全阻绝
- · 我能躲到哪里去?—无线定位技术
- · Windows“安全模式”的五项用途
- · ECHO命令的超详细使用
- · php注入专题
- · 对IPv6在NGI核心层和接入层部署的思考
- · IDS(入侵检测系统)术语
- · 如何用好双WAN路由器
- · 使用IP过滤,轻松管理网络
- · CHKDSK(磁盘检测)命令的运用
- · Linux下口令恢复任我行
- · 使用FlashFXP来提升权限
- · 部署防火墙策略的十六条守则
- · TopStyle Pro 使用技巧
- · 21分钟解决struts国际化和中文问题
- · WindowsNT/2K/XP/2K3系统实用工具集
- · TOPSEC网络安全体系平台
- · 巧用比较并合并文档 RPC服务启用的方法
- · Windows管道技术简述
- · 消除防火墙的局限性和脆弱性
- · Win2003作路由 局域网共享多出口上网
- · dvdrip、dvdscr、tc版等的区别
- · Windows2000/XP服务攻略
- · 破解加密光盘五法破解加密光盘五法
- · 常用的DDOS软件+动画教程
- · 教你申请10GB免费网络硬盘
