如何防范sql注入漏洞

如何防范sql注入漏洞

ID:16916438

大小:21.01 KB

页数:7页

时间:2018-08-25

如何防范sql注入漏洞_第1页
如何防范sql注入漏洞_第2页
如何防范sql注入漏洞_第3页
如何防范sql注入漏洞_第4页
如何防范sql注入漏洞_第5页
资源描述:

《如何防范sql注入漏洞》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、如何防范SQL注入漏洞,下面给出4个函数,足够你抵挡一切SQL注入漏洞!读懂代码,你就能融会贯通。注意要对所有的request对象进行过滤:包括request.cookie,request.ServerVariables等等容易被忽视的对象:functionkilln(byvals1)'过滤数值型参数ifnotisnumeric(s1)thenkilln=0elseifs1<0ors1>2147483647thenkilln=0elsekilln=clng(s1)endifendifendfunctionfunctio

2、nkillc(byvals1)过滤货币型参数ifnotisnumeric(s1)thenkillc=0elsekillc=formatnumber(s1,2,-1,0,0)endifendfunctionfunctionkillw(byvals1)'过滤字符型参数iflen(s1)=0thenkillw=""elsekillw=trim(replace(s1,"'",""))endifendfunctionfunctionkillbad(byvals1)过滤所有危险字符,包括跨站脚本Iflen(s1)=0thenkil

3、lbad=""elsekillbad=trim(replace(replace(replace(replace(replace(replace(replace(replace(s1,Chr(10),"
"),Chr(34),"""),">",">"),"<","<"),"&","&"),chr(39),"'"),chr(32),""),chr(13),""))20currencydeposit,weprescribeapassonaregularbasis,qilucardaccountonar

4、egularbasis),certificatebondsandsavingsbonds(electronic);3.notdrawnonabanksavingscertificate,certificatebondsapplyformortgageloans,acceptingonlythelenderendifendfunctionSQL注入攻击的种类和防范手段观察近来的一些安全事件及其后果,安全专家们已经得到一个结论,这些威胁主要是通过SQL注入造成的。虽然前面有许多文章讨论了SQL注入,但今天所讨论的内容也许可

5、帮助你检查自己的服务器,并采取相应防范措施。SQL注入攻击的种类知彼知己,方可取胜。首先要清楚SQL注入攻击有哪些种类。1.没有正确过滤转义字符在用户的输入没有为转义字符过滤时,就会发生这种形式的注入式攻击,它会被传递给一个SQL语句。这样就会导致应用程序的终端用户对数据库上的语句实施操纵。比方说,下面的这行代码就会演示这种漏洞:statement:="SELECT*FROMusersWHEREname='"+userName+"';"这种代码的设计目的是将一个特定的用户从其用户表中取出,但是,如果用户名被一个恶意的用

6、户用一种特定的方式伪造,这个语句所执行的操作可能就不仅仅是代码的作者所期望的那样了。例如,将用户名变量(即username)设置为:a'or't'='t,此时原始语句发生了变化:SELECT*FROMusersWHEREname='a'OR't'='t';如果这种代码被用于一个认证过程,那么这个例子就能够强迫选择一个合法的用户名,因为赋值't'='t永远是正确的。在一些SQL服务器上,如在SQL Server中,任何一个SQL命令都可以通过这种方法被注入,包括执行多个语句。下面语句中的username的值将会导致删除“

7、users”表,又可以从“data”表中选择所有的数据(实际上就是透露了每一个用户的信息)。a';DROPTABLEusers;SELECT*FROMdataWHEREnameLIKE'%20currencydeposit,weprescribeapassonaregularbasis,qilucardaccountonaregularbasis),certificatebondsandsavingsbonds(electronic);3.notdrawnonabanksavingscertificate,certif

8、icatebondsapplyformortgageloans,acceptingonlythelender这就将最终的SQL语句变成下面这个样子:SELECT*FROMusersWHEREname='a';DROPTABLEusers;SELECT*FROMDATAWHEREnameLIKE'%';其它的SQL执行不会将执行同样

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。