防范sql注入式攻击js版本
来源:ynowsky 发布时间:2008-04-12 14:53:00
标签:sql,攻击,js,asp
SQL注入式攻击是利用是指利用设计上的漏洞,在目标服务器上运行Sql命令以及进行其他方式的攻击 。
动态生成Sql命令时没有对用户输入的数据进行验证是Sql注入攻击得逞的主要原因。
比如:
如果你的查询语句是select * from admin where username=''"&user&"'' and pass=''"&pwd&"''" 那么,如果我的用户名是:1'' or ''1''=''1
那么,你的查询语句将会变成:
select * from admin where username=''1 or ''1''=''1'' and password=''"&pwd&"''"
这样你的查询语句就通过了,从而就可以进入你的管理界面。
所以防范的时候需要对用户的输入进行检查。特别式一些特殊字符,比如单引号,双引号,分号,逗号,冒号,连接号等进行转换或者过滤。
需要过滤的特殊字符及字符串有:
net user
xp_cmdshell
/add
exec master.dbo.xp_cmdshell
net localgroup administrators
select
count
Asc
char
mid
''
:
"
insert
delete from
drop table
update
truncate
from
%
下面是我写的两种关于解决注入式攻击的防范代码,供大家学习参考!
js版的防范SQL注入式攻击代码:
<script language="javascript">
<!--
var url = location.search;
var re=/^\?(.*)(select%20|insert%20|delete%20from%20|count\(|drop%20table|update%20truncate%20|asc\(|mid\(|char\(|xp_cmdshell|exec%20master|net%20localgroup%20administrators|\"|../../image/bbs3000/whatchutalkingabout_smile.gifnet%20user|\''|%20or%20)(.*)$/gi;
var e = re.test(url);
if(e) {
alert("地址中含有非法字符~");
location.href="error.";
}
//-->
<script>
asp版的防范SQL注入式攻击代码~:
<%
On Error Resume Next
Dim strTemp
If LCase(Request.ServerVariables("HTTPS")) = "off" Then
strTemp = "http://"
Else
strTemp = "https://"
End If
strTemp = strTemp & Request.ServerVariables("SERVER_NAME")
If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & Request.ServerVariables("SERVER_PORT")
strTemp = strTemp & Request.ServerVariables("URL")
If Trim(Request.QueryString) <> "" Then strTemp = strTemp & "?" & Trim(Request.QueryString)
strTemp = LCase(strTemp)
If Instr(strTemp,"select%20") or Instr(strTemp,"insert%20") or Instr(strTemp,"delete%20from") or Instr(strTemp,"count(") or Instr(strTemp,"drop%20table") or Instr(strTemp,"update%20") or Instr(strTemp,"truncate%20") or Instr(strTemp,"asc(") or Instr(strTemp,"mid(") or Instr(strTemp,"char(") or Instr(strTemp,"xp_cmdshell") or Instr(strTemp,"exec%20master") or Instr(strTemp,"net%20localgroup%20administrators") or Instr(strTemp,":") or Instr(strTemp,"net%20user") or Instr(strTemp,"''") or Instr(strTemp,"%20or%20") then
Response.Write "<script language=''****''>"
Response.Write "alert(''非法地址!!'');"
Response.Write "location.href=''error.asp'';"
Response.Write "<script>"
End If
%>
以下是较为简单的防范方法,这些都是大家比较熟悉的方法,希望能给你一点帮助~
主要是针对数字型的变量传递:
id = Request.QueryString("id")
If Not(isNumeric(id)) Then
Response.Write "非法地址~"
Response.End
End If


猜你喜欢
- 据GOS报道,Google在AdSense账户中提供了一种新的广告形式:AdSense for Feeds。早在今年5月份的时候Google
- 现如今无论是在QQ聊天签名还是论坛网游里,随处都可看到火星文的踪迹,可是如果看不懂这些火星文怎么办?“对付&rd
- 世界上没有绝对安全的系统,即使是普遍认为稳定的Linux系统,在管理和安全方面也存在不足之处。我们期望让系统尽量在承担低风险的情况下工作,这
- 给系统文件设置权限系统文件对系统的稳定性有无可争议的作用,同时对系统的操作也是通过这些系统文件进行的。通过设置系统文件的访问权限,让一些操作
- 【WordPress(或者说任何一个web-based app)可以参考的优化策略】单服务器优化策略:DB优化;缓存优化和页面加载速度优化(
- Ad Manager是Google推出的网络广告管理平台。按照官方的介绍,它是一个托管式的广告管理解决方案,可以帮助用户对自己的广告资源进行
- 西联汇款(WESTERN UNION)可以在全球大多数国家的西联代理所在地汇出和提款,客户可以按照以下提供的方法办理西联汇款业务,如果有任何
- 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)101 Switching Protoc
- MongoDB安装过程以及问题记录一、MongoDB安装下载MongoDB官方地址:https://www.mongodb.com/down
- 一、安装前的准备1、下载好Ubuntu20.04的镜像文件,直接从官网下载就好,2、准备好VMware软件,这里就忽略安装过程了。二、建立虚
- 快速配置Vsftp前言,Vsftp是一种相当安全的ftp服务器,而且vsftp成为RH8.0与9.0的标准ftp服务器。本文用实验的方法快速
- 在本文中,学习如何使用开源的 Clonezilla Live 克隆软件将物理服务器转换成虚拟服务器。具体而言,就是如何使用基于映像的方法将物
- 为了把握主流社区产品的应用趋势,进一步满足地方及垂直社区门户化发展的应用需求,中国领先的社区平台与服务提供商康盛创想(Comsenz)通过站
- WordPress有丰富的插件、主题,成功广大博主建博客利器,WordPress博客是由MySQL提供支持的,在博客的写作过程中,有时不得不
- 您是不是在为不知道怎样提高网站上的广告单价而烦恼?那么就好好学习一下我们今天的这篇文章吧!在Google AdSense 系统投放广告时,网
- 一、软件、系统镜像软件:VMware 14镜像:CentOS8 ,镜像官网下载地址 :http://mirror.jdcloud.com/c
- 巨人网络总裁刘伟(腾讯科技摄)北京时间11月26日消息,巨人网络总裁刘伟日前在该公司财报电话会议上表示,取消开宝箱对公司第三季度有影响,第四
- 咱老百姓,今儿我是真呀真高兴(吼)咱老百姓,今儿我是真呀真高兴(嘿)咱老百姓,今儿我是真呀真高兴(吼)咱老百姓高兴,高兴今儿我是真呀真高兴(
- 中国领先的社区平台与服务提供商康盛创想(Comsenz)旗下核心产品Discuz!新版正式发布。全新推出的Discuz! 7.2版本从用户注
- VMware EXSI 为虚拟机centos安装VMware Tools1.首先查看虚拟机是否安装VMware Tools2.打开虚拟机控制