预防SQL注入漏洞函数

原创 2004年07月24日 18:37:00

预防SQL注入漏洞函数.

仅仅代表我的观点.不怕见笑.有问题请大家指教!我想如果你是牛人,那这个已经不是值得你看的内容,只是觉得对与很多刚入门的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"))&""
或者来就判断字符串

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

看了些资料,结合自己的经验,写在这里。算是自己复习一下,看到的朋友也可以一起交流!QQ:22979784(加的请说明这篇文章的地址,怕扰啊!多多见谅了!)

另外对于sql注入漏洞,好象只是ASP里多些!其它的我还不是太清楚,所以还是需要提醒所有搞ASP的朋友,请多看看,微软的最新【windows 脚本技术】这个东西。
http://download.microsoft.com/download/winscript56/Install/5.6/W982KMe/CN/scd56chs.exe
这里下,就可以了!

如何避免SQL注入漏洞

使用String来拼装SQL语句,会容易产生注入漏洞。而使用参数来传递SQL参数值,则可以避免注入漏洞,这个和用什么工具框架没有关系。在JAVA里,可以使用preparedStatement来避免的:...
  • sdbany
  • sdbany
  • 2007-12-09 00:20:00
  • 1751

防止sql注入的几个简单函数应用

几个简单的函数有:  trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] ) 去除字符串首尾处的空白字符(或者其他字符)...
  • weixin_39768635
  • weixin_39768635
  • 2017-09-18 21:33:36
  • 283

防SQL注入漏洞函数集

1、 SQL注入漏洞可谓是“千里之堤,溃于蚁穴”,这种漏洞在网上极为普遍,通常是由于程序员对注入不了解,或者程序过滤不严格,或者某个参数忘记检查导致。在这里,我给大家一个函数,代替ASP中的Reque...
  • pj200030
  • pj200030
  • 2007-02-21 12:17:00
  • 840

案例预防SQL注入漏洞函数

  • 2009年10月31日 20:16
  • 31KB
  • 下载

SQL注入的原理,危害及防范

SQL注入在英文中称为SQL Injection,是黑客对Web数据库进行攻击的常用手段之一。在这种攻击方式中,恶意代码被插入到查询字符串中,然后将该字符串传递到数据库服务器进行执行,根据数据库返回的...
  • lifushan123
  • lifushan123
  • 2015-04-23 20:07:49
  • 2197

CI框架中的SQL注入隐患

0x00 在CI框架中,获取get和post参数是使用了$this->input类中的get和post方法。 其中,如果get和post方法的第二个参数为true,则对输入的参数进行XSS过滤,注意只...
  • u011721501
  • u011721501
  • 2015-03-31 23:14:44
  • 5307

SQL注入原理以及如何避免注入

SQL注入:到底什么时候会用到SQL呢?回答是访问数据库的时候,也就是说SQL注入-->直接威胁到了数据源,呵呵,数据库都收到了威胁,网站还能正常现实么? 所谓SQL注入,就是通过把SQL命令插入到...
  • jeofey
  • jeofey
  • 2015-07-21 15:43:53
  • 2712

Statement的sql注入问题

SQL注入,PreparedStatement和Statement * 在SQL中包含特殊字符或SQL的关键字(如:' or 1 or ')时Statement将出现不可预料的结果(出现异常或查询的...
  • cnbird2008
  • cnbird2008
  • 2013-03-15 15:19:00
  • 1492

代码注入漏洞以及修复方法

PHP代码执行漏洞指应用程序本身过滤不严格,用户可以通过请求将代码注入到程序中执行,类似于SQL注入漏洞,可以把SQL语句通过网页注入到SQL服务执行,而PHP代码执行漏洞则是可以把代码注入应用到网站...
  • pygain
  • pygain
  • 2016-10-12 17:32:27
  • 2780

防止SQL注入的方法和最优解

防止SQL注入的方法和最优解      学习慕课网的WEB安全之SQL注入课程后和百度相关文章后的总结,主要为解决 思路,相关操作自行到慕课网观看。 一、存在问题 “SQL注入”是一种利用未过滤/未审...
  • weixin_39210100
  • weixin_39210100
  • 2017-12-28 00:54:18
  • 328
收藏助手
不良信息举报
您举报文章:预防SQL注入漏洞函数
举报原因:
原因补充:

(最多只允许输入30个字)