一个asp函数, 解决SQL Injection漏洞

最新ASP通用防SQL注入代码 这是经过整理和测试的,最新ASP通用防SQL注入代码。 很简洁也很好用.和大家分享. 立即下载
函数很简单, 主要是针对字符串和数字两种类型的传入数据分别进行了处理,具体用法:

字符类型的
strUsername = CheckInput(Request(“username“),“s“)
数字类型的
ID = CheckInput(Request(“id“),“i“)

下面是函数


Function CheckInput(str,strType)
   '函数功能:过滤字符参数中的单引号,对于数字参数进行判断,如果不是数值类型,则赋值0
   '参数意义:  str        ---- 要过滤的参数
   '                 strType ---- 参数类型,分为字符型和数字型,字符型为"s",数字型为"i"
 Dim strTmp
 strTmp     = ""
 If strType ="s" Then
  strTmp = Replace(Trim(str),"'","''")
 ElseIf strType="i" Then
  If isNumeric(str)=False Then str="0"
  strTmp = str
 Else
  strTmp = str
 End If
 CheckInput = strTmp
End Function

最好把“:”也过滤掉
建议用CHR()代替

关于Asp的SQL Injection预防问题,似乎已经没什么可说的了。在我做的Asp的项目里面,

都是用自己写的函数来处理客户端提交进来的数据,我的Blog里面也贴过这个函数。

具体可以参考http://blog.youkuaiyun.com/cqq/archive/2004/09/23/113786.aspx


不过,从朋友的留言和网上其他的一些讲如何防范SQL Injection的函数来看,很多人都走进了一个误区。

SQL Injection的危害是很大的,比如对于SQL Server,可以创建、删除数据库,执行系统命令等等, 如

drop table tbl_name, execute master.dbo.xp_cmdshell "command"

所以很多人写的函数就是拼命的去过滤这些可能引起危害的关键词,比如drop ,分号,and,exe,mid等等,罗列了

一大堆。


其实,尽可以不必那么繁琐,非要把简单的事情复杂化。

对于过滤,ASP中只要针对字符型和数字型分别处理就可以了,


字符型的,把单引号转换成两个单引号  strTmp = Replace(Trim(str),"'","''")

数字型的,就判断是否能够转换成数字型的 ,用 isNumeric函数


现在网上说的能够绕过单引号的攻击,其实是针对数字类型的

如果对于过滤了单引号的字符型,还有办法绕过,那就没得玩了........

大华事件检测智能服务器,大华股份:高速公路智能事件检测 解决方案 1方案背景随着我国基础设施建设的飞速发展,公路尤其是高速公路的总里程数年年攀升。交通运输部统计数据显示,截止2017年底全国公路总里程477.35万公里,其中高速公路13.65万公里,位居世界第一。高速公路的运营和管理作为全国交通管理的重要组成部分日益受到严峻挑战,交通拥堵和事故频发已成为高速公路上非常突出的问题。抛洒物、行人、车辆不规则行驶等事件是导致以上结果的重要原因。基于视频分析的高速公路智... 阅读详情

相关推荐

6G网络的关键技术、应用前景与挑战并存的科技征途

移动通信技术正以前所未有的速度迭代更新,而6G技术的研发进程渐渐成为了当前科技领域的热点。全球各国已纷纷将目光投向了充满想象的6G时代。本文将探讨全球6G技术研发的最新进展,以及6G技术的核心创新与潜在应用。

fiberroad的博客 2425

SQL注入攻击

SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。SQL注入

人生何适不艰难 赖是胸中万斛宽 1363

Abaqus滞回问题求解—浆锚连接装配式剪力墙滞回模拟

当下土木工程研究生,多数都在从事装配式混凝土构件安全或装配式混凝土构件连接节点力学性能的研究。研究这类问题,几乎脱离不开对有限元软件的使用,Abaqus求解能力非常强大,但模型处理能力相对较弱。装配式混凝土结构的有限元计算与传统现浇结构相比,其节点处理起来相对复杂,计算结果往往需要凸显出连接节点力学特性,所以对建模精程度的要求较高。所以向大家介绍一款工具—HyperMesh软件(一下简称Hm),它是专业的有限元前处理工具,用于处理装配式混凝土构件或连接节点有限元模型比较合适。这篇文章主要介绍如何利用Hm处理

qq_31918049的博客 2904

针对Fortify工具扫描出几大漏洞的解决办法总结--1

Fortify是一款能扫描分析代码漏洞的强大工具,这里就不详细介绍,有兴趣了解的同学可以自己找些相关资料来看看。 本人在实际工作中遇到以下漏洞,结合他人经验及自己的理解总结出一些相关解决方式,如有不足之处还望批评指正。 1.System Information Leak 系统信息泄露:当系统数据或调试信息通过输出流或者日志功能流出程序时,就会发生信息泄漏。 看下面两段代码: out.

abcxy12336的博客 3万+

STM32 上 FreeRTOS 的启动与任务调度详解

4. SysTick定时器:FreeRTOS启动调度器后,会接管STM32的SysTick定时器,用于生成系统节拍,因此不要在HAL库中重复配置SysTick(比如HAL_Init()中已配置,无需再手动调用SysTick_Config()),否则会导致系统节拍异常,任务延迟不准。2. 任务栈大小需按需配置,不是越大越好(浪费RAM),也不能太小(会导致栈溢出),比如简单的传感器读取任务,1024字(4096字节)足够,复杂任务(比如串口接收+数据解析)可调整为2048字。

qq_40170041的博客 868

c#视觉应用开发中如何使用Emgu CV在C#中进行图像处理?

Emgu CV 是 OpenCV 的 .NET 包装器,可以让开发者在 .NET 语言(如 C#)中使用 OpenCV 的功能进行图像处理。在进行图像处理时,Emgu CV 提供了丰富的 API 可以使用。PictureBoxImageBox下面是一个详细的示例,演示如何使用 Emgu CV 在 C# 中进行基本的图像处理,包括加载图像、转换为灰度图像、进行边缘检测,然后显示结果。byte在这个示例中,我们使用了三个PictureBox控件来显示原始图像、灰度图像和边缘检测后的图像。

zhangzhechun的专栏 672

SQL注入-针对asp+access网站进行SQL注入

asp+access网站技术介绍   ASP即Active Server Pages,是MicroSoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASp文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本标志语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也...

qq_25899635的博客 5221

MSP430FR6043超声波传感器设计记录

1.前言 最近项目设计了一个超声波传感器 参考TI官方的板子EVM430-FR6043搭建的电路 EVM430-FR6043评估模块是一个用于评估MSP430FR6043 MCU性能的开发平台。 MSP430FR6043 MCU是一款超低功耗器件, 集成了超声波感测模拟前端 用于精确地进行超声波测量。 专为超声波水表、热量计和燃气表而设计, MSP430FR6043 器件采用低功耗加速器 (LEA), 可实现基于高速 ADC 的信号采集以及后续优化数字信号处理, 为电池供电型计量提供了一款超低功耗、高

bingdund的博客 2871

SQL注入天书 - ASP注入漏洞全接触

http://www.cnblogs.com/enif/archive/2004/08/11/32146.html(源址)SQL注入天书 - ASP注入漏洞全接触 作者:NB联盟-小竹 (QQ:48814)引  言随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候

Ardor Leo's Blog 1万+

openbmc 支持mctp over pcie(三)(支持作为endpoint)

本文介绍了在Intel BHS平台上支持MCTP over PCIe端点开发的调试方法。开发基于CodeConstruct和AspeedTech-BMC的开源项目,将内核驱动改为模块形式以便调试。内容包括DTS配置、驱动模块设置步骤,以及如何将BMC配置为端点设备。调试过程涉及内核模块加载、MCTPD启动、参数设置等关键命令,并展示了路由表、地址和邻居信息的测试结果。该方案仅为实验性工作,需注意停止其他使用/dev/aspeed-mctp0接口的应用。

wit_yuan的专栏 1557

在 MATLAB/Simulink 中构建一个卫星间激光通信链路的完整仿真系统

摘要: 本文通过Simulink详细演示了卫星间激光通信系统的建模过程,重点分析其在10Gbps高速率、2000km距离下的性能。系统设计涵盖PAM-4调制、自由空间信道建模(路径损耗、指向误差、多普勒效应)、APD探测及链路预算计算,并给出典型场景下18.5dB SNR、1e-9误码率的仿真结果。针对激光通信的μrad级指向精度挑战,提出AI辅助跟踪、混合RF/激光等优化策略,为未来太空高速组网提供可扩展的仿真框架。所需工具箱包括Communications Toolbox和Aerospace Toolb

xiaoheshang_123的博客 384

解决SQL Injection漏洞的一个函数

解决SQL Injection漏洞的一个函数http://blog.youkuaiyun.com/cncco/archive/2006/04/07/654254.aspx  函数Function CheckInput(str,strType)   函数功能:过滤字符参数中的单引号,对于数字参数进行判断,如果不是数值类型,则赋值0   参数意义:  str        ---- 要过滤

gxj022的专栏 573

Lammps纳米压痕接触面积—Matlab接触面积计算(两种方法)

Lammps纳米压痕接触面积计算

Rockyoung 5449

ASP网络编程安全指南(SQL Injection篇)

作者: 风清扬 出处: E代V4 近段时间以来的网络攻击似乎多了起来,很多站点无故被黑甚至换掉首页。绝大多数站点被攻击的原因大都是由于站点程序上的漏洞,由攻击者得到WebShell后进而提升权限得到服务器主机权限。然而得到WebShell的途径也就集中到SQL Injection的攻击手法上。什么是SQL 注入攻击呢?来自官方的诠释:当应用程序使用输入内容来构造动态 SQL 语句以访问数据库时,会

1416

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SQL注射/SQL Injection漏洞

0x00 相关背景介绍 随着互联网web和信息技术的发展,在web后端作为存储和管理的的数据库也得到了广泛的应用,与web结合较为紧密的数据库包括Mysql,Sqlserver,Oracle,Sqllite,Db2,Access等等。 数据存储和管理作为应用的一个基本需...

chuancuili8770的博客 153

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SQL INJECTION的SQL SERVER安全设置

 日前SQL INJECTION的攻击测试愈演愈烈,很多大型的网站和论坛都相继被注入。这些网站一般使用的多为SQL SERVER数据库,正因为如此,很多人开始怀疑SQL SERVER的安全性。其实SQL SERVER 2000已经通过了美国政府的C2级安全认证-这是该行业所能拥有的最高认证级别,所以使用SQL SERVER还是相当的安全的。当然和ORCALE、DB2等还是有差距,但是SQL

《优快云社区电子杂志——MS-SQL Server杂志》官方blog 2552

降低SQL Injection攻击的3大关键

 资深的资安研究员数联资安研发处副总经理张裕敏表示,台湾企业使用微软.NET平台比例很高,若能掌握ASP .NET防御SQL Injection的3大关键,将有助于降低这类攻击。  iThome问:如何有效防堵SQL Injection的攻击? 张裕敏答:微软针对ASP .NET平台推出许多安全文件,教导开发人员做各种安全参数设定。目前可以从程序开发、与数据库程序的连结以及IIS

xuejinyoulan的专栏 1131

针对ASP中SQL Injection的初级防护

记得大约是在2002年的时候,SQL Injection(SQL注入)开始有了最初的雏形。黑客们发现,在动态网页的某些地方(表单等……)插入一些可以在数据库查询中起作用的语句和符号,就可以让页面执行后,返回特殊的结果。于是,经过了2003的发展,到2004年,SQL Injection已经作为一种很成熟的入侵技术登上了安全界的舞台。也是2004年,有大批的网站程序被发现了SQL Injecti

[智能天空教程区 Smart-sky] 528

SQL Injection(SQL注入)介绍及SQL Injection攻击检测工具

标签:原理 攻击检测 注入 工具转自:  http://zhoufoxcn.blog.51cto.com/792419/166058 1.关于SQL Injection 迄今为止,我基本没有看到谁写出一篇很完整的文章,或者说很成熟的解决方案(能做到 的人肯定很多,问题是没有流传开

Miracle_Lee 1170

ASP防SQL Injection方法

 原以为SQL注入已经是过时的话题,最近工作上发现许多网站还是存在着这方面的漏洞。不少网管对“‘”和关键字过滤,对于网上流行的一些SQL注入工具还是毫无作用。看来老话题还得重谈,SQL注入还需要更多的关注。 通常判断网站是否存在SQL注入漏洞,可以通过下面3种方法。1.数字型 "select * from table_name where field_name=1"1 and

dislocation的专栏 1033

php mssql 函数,用PHP函数解决SQL injection

用PHP函数解决SQL injectionSQLinjection问题在ASP上可是闹得沸沸扬扬当然还有不少国内外著名的PHP程序“遇难”。至于SQLinjection的详情,网上的文章太多了,在此就不作介绍。如果你网站空间的php.ini文件里的magic_quotes_gpc设成了off,那么PHP就不会在敏感字符前加上反斜杠(\),由于表单提交的内容可能含有敏感字符,如单引号('),就...

weixin_42513616的博客 163

SQL Injection

目录SQL注入原理注入漏洞分类数字型注入字符型注入攻击者SQL注入的常用伎俩常见数据库注入SQL Server 2008MySQL 5.1Oracle 11g SQL注入原理 public boolean findAdmin(Admin admin){ String sql="select count(*) from admin where username='"+admin.getusername()+"'and password='"+admin. getPassword()+"'";//SQL查询语

WhiteWater 159

php insert sql injection,PHP_用PHP函数解决SQL injection,SQL injection问题在ASP上可是闹得 - phpStudy...

用PHP函数解决SQL injectionSQL injection问题在ASP上可是闹得沸沸扬扬?当然还有不少国内外著名的PHP程序“遇难”。至于SQL injection的详情,网上的文章太多了,在此就不作介绍。如果你网站空间的php.ini文件里的magic_quotes_gpc设成了off,那么PHP就不会在敏感字符前加上反斜杠(\),由于表单提交的内容可能含有敏感字符,如单引号('),就...

weixin_32017139的博客 113

sql_injection

操作系统,数据库系统,数据库名,数据库用户,版本信息,网站路径等version() 数据库版本@@version_compile_os 操作系统user() 当前用户database() 数据库名。

wanggonghanfei的博客 1503

Blind SQL Injection

https://www.owasp.org/index.php/Blind_SQL_Injection

Nixawk 1521

用PHP函数解决SQL injection

SQL injection问题在ASP上可是闹得沸沸扬扬当然还有不少国内外著名的PHP程序“遇难”。至于SQL injection的详情,网上的文章太多了,在此就不作介绍。 如果你网站空间的php.ini文件里的magic_quotes_gpc设成了off,那么PHP就不会在敏感字符前加上反斜杠(\),由于表单提交的内容可能含有敏感字符,如单引号('),就导致了SQL injection的漏洞。在这种情况下,我们可以用addslashes()来解决问题,它会自动在敏感字符前添加反斜杠。 但是,上面的方法只

weixin_43044226的博客 211
上一篇: jsp注射(待翻译)
下一篇: 直接获取access、SQL Server等数据库数据
freexploit
博客等级 码龄22年 315粉丝 778原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值