预防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
这里下,就可以了!

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

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

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

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

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

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

手动漏洞挖掘-SQL注入小谈

所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 服务器端程序将用户输入参数做为查询条件,直接拼接SQL语句,并将查询...
  • qq_33936481
  • qq_33936481
  • 2016年04月25日 20:53
  • 2517

php sql注入漏洞与修复

出于安全考虑,需要过滤从页面传递过来的字符。 通常,用户可以通过以下接口调用数据库的内容:URL地址栏、登陆界面、留言板、搜索框等。 轻则数据遭到泄露,重则服务器被拿下。  一、SQL注入的...
  • vip_linux
  • vip_linux
  • 2014年01月24日 21:20
  • 874

sql注入漏洞的一种实例

在做毕业设计的时候,竟然碰到了一中叫sql注入漏洞的现象。   当笔者用一条sql语句查询时,select * from users where username='zf' and passwd='z...
  • zhuofeng85
  • zhuofeng85
  • 2013年10月27日 22:50
  • 2198

注入漏洞检测关键字

个人从网上和一些教程钟归纳了一些批量搜索注入点的关键字,分享给大家使用,    内容不多,但实用性还是蛮强的,保证能找到注入点,但是有些MD5加密之后不能解开,那也没有办法。有些关键字还可以扩展,寻...
  • dongjunhua
  • dongjunhua
  • 2013年03月01日 22:38
  • 12396

简单分析什么是SQL注入漏洞

现在很多人在入侵的过程中基本都是通过SQL注入来完成的,但是有多少人知道为什么会有这样的注入漏洞呢?有的会随口说着对于字符的过滤不严造成的。但是事实是这样吗?我们学这些,不仅要知其然,更要知其所以然!...
  • Terminator_botao
  • Terminator_botao
  • 2015年01月22日 16:54
  • 386

SQL注入——漏洞全接触(高级篇)

看完入门篇和进阶篇后,稍加练习,破解一般的网站是没问题了。但如果碰到表名列名猜不到,或程序作者过滤了一些特殊字符,怎么提高注入的成功率?怎么样提高猜解效率?请大家接着往下看高级篇。 第一节、利用...
  • Shiyaru1314
  • Shiyaru1314
  • 2015年10月10日 13:48
  • 651

利用SQL注入漏洞登录后台的实例

转载: http://www.php100.com/html/webkaifa/PHP/PHPyingyong/2012/0210/9803.html  在开发网站的时候,出于安全考虑,需要过滤...
  • MaggieMiaoMiao
  • MaggieMiaoMiao
  • 2015年08月24日 11:08
  • 2784
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:预防SQL注入漏洞函数
举报原因:
原因补充:

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