[转]预防SQL注入漏洞函数

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

仅仅代表我的观点.不怕见笑.有问题请大家指教!我想如果你是牛人,那这个已经不是值得你看的内容,只是觉得对与很多刚入门的ASP程序员来说还是有点实际意义,所以不怕被大家笑话,写了贴在这里!

<%
Function checkStr(str)

if isnull(str) then

checkStr = ""

exit function

end if

checkStr=replace(str," ","")

checkStr=replace(str,"'","'")

checkStr=replace(str,";","'")

checkStr=replace(str,"--","'")

checkStr=replace(str,"(","'")

checkStr=replace(str,"[","'")

checkStr=replace(str,"$","'")

end function

%>


相关函数
Left(string, length)
 返回指定数目的从字符串的左边算起的字符
 
Asc(string)
 返回与字符串的第一个字母对应的 ANSI 字符代码。
 
Mid(string, start[, length])
 从字符串中返回指定数目的字符。
 
***********************************
我自己的做法是把字符串限定在8个字符内,呵!(千万条数据啊,没谁有这样大的记录吧?99,999,999呵!不够用,才怪了!除非你的数据从来不更新删出,那也没办法,问题是sql到了这样的时会是怎么样的速度)


---<%
if len(request.querystring("ddd"))> 8 then
response.write(黑我啊,不要了。少来)
response.end '最好有这句

'''初步是判断是否是数字=======IsNumeric 函数
if IsNumeric(request.querystring("ddd")) then

Execute("select * from [table]")

....

else

response.write(黑我啊,不要了。少来)
response.end '最好有这句

%>

当然了,加上上面的函数,在你的SQL过程里,效果就非常完美了!

呵!!!在变态点做个函数。

---<%
Function checkStr(str)

if isnull(str) then

checkStr = ""

exit function

end if

checkStr=replace(str," ","")

checkStr=replace(str,"'","'")

checkStr=replace(str,";","'")

checkStr=replace(str,"--","'")

checkStr=replace(str,"(","'")

checkStr=replace(str,"[","'")

checkStr=replace(str,"$","'")

checkStr=replace(str,"asc'," ")

checkStr=replace(str,"mid"," ")

checkStr=replace(str,"delete"," ")

checkStr=replace(str,"drop"," ")

'''呵!!我这里没屏蔽select,count,哈!想起来我就笑,太变态了,那其不是我什么都不用了不是更更安全啊!!!呵!!~^)^~
end function

%>


足够了,这个函数加载到sql选取记录集的地方。
如:rsql="select * from table where xxx="&checkstr(request.querystring("xxyy"))&""
或者来就判断字符串

说的有点林乱,但是就是这些了,对于普通的"黑客"已经足够他毫些时间了。但是对于老到的真正意义的黑客,这些都不是万能的东西,人家连服务器都黑,你能怎么样啊?嘿!!

看了些资料,结合自己的经验,写在这里。算是自己复习一下,看到的朋友也可以一起交流!

 转载请注明:转载自月光博客 [ http://www.williamlong.info ]
本文链接地址:http://www.williamlong.info/archives/96.html

08、如何预防SQL注入 SQL 注入是一种严重的安全威胁,可能导致数据泄露、篡改、删除、权限提升和拒绝服务攻击。为了防止 SQL 注入,必须使用参数化查询、输入验证、使用 ORM 框架等安全措施,确保应用程序的安全性。定期进行安全审计和代码审查,及时发现和修复潜在的 SQL 注入漏洞 阅读详情

相关推荐

Burpsuite靶场——SQL注入

Burpsuite靶场——SQL注入漏洞详解,带你了解并从根源上解决SQL注入问题。

小林说安全的博客 6183

防止SQL注入函数

Function CheckStr(byVal ChkStr) 检查无效字符        Dim Str:Str=ChkStr        Str=Trim(Str)        If IsNull(Str) Then                CheckStr = ""                Exit Function         End If        Dim re

KimYoo的专栏 2702

Web常见安全漏洞-SQL注入

    SQL注入攻击(SQL Injection),简称注入攻击,是Web开发中最常见的一种安全漏洞。 可以用它来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作, 甚至有可能获取数据库乃至系统用户最高权限。 而造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器提交恶意的SQL查询代码, 程序在接收后错误的将攻击者的输入作为查询...

7071

预防SQL注入漏洞函数

预防SQL注入漏洞函数. 仅仅代表我的观点.不怕见笑.有问题请大家指教!我想如果你是牛人,那这个已经不是值得你看的内容,只是觉得对与很多刚入门的ASP程序员来说还是有点实际意义,所以不怕被大家笑话,写了贴在这里! ----Function checkStr(str) if isnull(str) then checkStr = "" exit function end if checkStr=r

最爱白菜 1万+

如何使用sql数据库中的isnull()函数以及null的用法

SQL Serve的ISNULL函数ISNULL(,replacement_value) 1、check_expression与replacement_value的数据类型必须一致。 2、如果check_expression为NULL,则返回replacement_value。 3、如果check_expression为NULL,则返回check_expression。 Mysql

zhb123GGGGGG的专栏 3万+

SQLISNULL 函数

Sybase的IsNull有两个参数MySQLIsNull只有一个参数。

罗罗的1024 2344

实例讲解 SQL 注入攻击

本文由 伯乐在线 - zer0Black 翻译,蒋生武 校稿。未经许可,禁止载! 英文出处:Steve Friedl。欢迎加入翻译小组。 一位客户让我们针对只有他们企业员工和顾客能使用的企业内网进行渗透测试。这是安全评估的一个部分,所以尽管我们之前没有使用过SQL注入来渗透网络,但对其概念也相当熟悉了。最后我们在这项任务中大获成功,现在来回顾一下这个过程的每一步,将它记录为一个案例。

姚老板的黑店 1958

基于sql注入的攻击和预防

信息,作为一种对当下社会发展起到越来越重要作用的资源,在信息化时代来临之际,已经具备了战略上的重要意义,而如何对这种资源进行收集、占有和有效利用,也已成为当下社会和国际社会的焦点内容,针对这一焦点内容所产生的竞争和斗争行为也层出不穷。如今,对于维护国家安全、促进社会经济发展、保证社会稳定来说,信息已成为一把双刃剑,当其安全性能够得到有效保证时,能够对发展稳定起到促进作用,反之,则有可能造成威胁。因此,有关于其的安全保证问题,已成为当今人们越来越关注和迫切需要解决的问题。准确地说,没有信息安全就没有国家安全。

qq_1694456187的博客 905

SQL注入攻击常见方式及预防方法

开发同事反馈有系统收到SQL注入的风险告警,整理一下SQL注入攻击常见方式及预防方法。 SQL注入攻击是输入参数未经过滤,直接拼接到SQL语句当中解析,执行达到开发者预想之外行为的攻击方式。 下面是网上找到的例子 一、如何进行SQL注入攻击 以php编程语言、mysql数据库为例,介绍一下SQL注入攻击的构造技巧、构造方法 1. 数字注入 在浏览器地址栏输入:learn.me/sql/article.php?id=1,正常情况下,应该返回一个id=1的文章信息。这是一个get型接口,发送..

Hehuyi_In的博客 1万+

什么是 SQL 注入,有哪些类型,如何预防

如果说数据是系统的核心,那么SQL注入就是直插系统核心的漏洞。一直以来SQL注入漏洞就被列入OWASP最常见和影响最广泛的十大漏洞列表中。SQL注入漏是系统漏洞中一种比较严重的漏洞,如果说数据是系统的核心,那么SQL注入就是直插系统核心的漏洞。一直以来SQL注入漏洞就被列入OWASP最常见和影响最广泛的十大漏洞列表中。顾名思义,SQL注入漏洞是攻击者将恶意内容注入SQL语句。

QQ3007250950的博客 1628

SQL注入是什么,如何预防

SQL注入是一种常见的Web安全漏洞,攻击者通过输入恶意SQL代码操纵数据库查询,可能导致数据泄露、篡改或权限提升。典型例子是通过输入'OR'1'='1绕过登录验证。预防措施包括:使用预编译语句/参数化查询(如JDBC的PreparedStatement)、ORM框架(Hibernate/MyBatis)、输入验证、义特殊字符、限制数据库权限、使用安全框架(Spring/Django)以及避免直接拼接SQL语句。这些方法能有效隔离用户输入与SQL逻辑,防止注入攻击。

Hzx895554135的博客 806

基于SQL注入的攻击与预防

本文分析了MySQL数据库的SQL注入漏洞及防御方法。第三章介绍了MySQL信息数据库information_schema的特性,该数据库存储了所有数据库的结构信息,为攻击者提供了便利。第四章探讨了显错注入和报错注入等攻击手法,并分析了其使用场景。第五章提出了SQL注入的防御措施,包括数据验证、编码处理、参数化查询等预防方法,以及日志检查、代码审计等补救方案。研究表明,通过综合采用过滤检查、编码控制、关闭报错显示、输入验证等多层防御机制,结合参数化查询和权限最小化原则,能有效防范SQL注入攻击。

2301_81142448的博客 836

SQL注入问题及预防方法

SQL注入问题 sql存在漏洞,会被攻击导致数据泄露 SQL会被拼接 or package com.kuang.lesson02; import com.kuang.lesson02.utils.jdbcUtils; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SQL注入 { public sta

Frank---7的博客 6万+

SQL注入原理及预防SQL注入的方法

网络安全成为了现在互联网的焦点,这也恰恰触动了每一位用户的神经,担心网上的信息以及个人隐私遭到泄露。下面要为大家介绍的是SQL注入,对于sql注入,相信程序员都知道或者使用过,如果没有了解或完全没有听过也没有关系,我们可以通过下面来一起学习下。 什么是sql注入sql注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(

m0_58816585的博客 1615

了解SQL注入的类型、原理、检测与预防方法

SQL注入是一种发生在Web程序中数据库层的安全漏洞,下面我们将深入探讨SQL注入的原理、影响、检测和预防方法。

m0_73995538的博客 1386

SQL注入漏洞的检测及防御,零基础入门到精通_sql注入检测

SQL注入SQL Injection)是一种广泛存在于Web应用程序中的严重安全漏洞,它允许攻击者在不得到授权的情况下访问、修改或删除数据库中的数据。这是一种常见的攻击方式,因此数据库开发者、Web开发者和安全专业人员需要了解它,以采取措施来预防和检测SQL注入漏洞。01什么是SQL注入SQL注入是一种攻击技术,攻击者通过在输入字段中插入恶意SQL代码,试图欺骗应用程序以执行不安全的数据库操作。这些恶意SQL代码将与应用程序的数据库进行交互,允许攻击者执行未授权的操作。

Spontaneous_0的博客 1468
上一篇: [转]用IIS建立高安全性Web服务器
下一篇: [转]三种禁用FileSystemObject组件的方法
weq221
博客等级 码龄24年 11粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值