Chinaunix首页 | 论坛 | 博客
  • 博客访问: 761028
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761029
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761030
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761031
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761032
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761033
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761034
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761025
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761036
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761037
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761038
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761039
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761040
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761041
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761042
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761043
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761044
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761045
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761046
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761047
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761048
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761049
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761040
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761051
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761052
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761053
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761054
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761055
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761056
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761057
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761058
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761059
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761060
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761061
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761062
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761063
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761064
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761055
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761066
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761067
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761068
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761069
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761070
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761071
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761072
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761073
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761074
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761075
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761076
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761077
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761078
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上
[转]SQL注入攻击零距离-傲枭_cu-ChinaUnix博客

  • 博客访问: 761079
  • 博文数量: 140
  • 博客积分: 10288
  • 博客等级: 上将
  • 技术积分: 2895
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-03 13:19
文章分类

全部博文(140)

文章存档

2009年(50)

2008年(90)

我的朋友

分类: 数据库开发技术

2009-04-02 13:20:57

一次次的SQL注射入侵,一次次的网站被黑,总是那句话,漏洞在所难免,难道一点办法都没吗?这篇文章就是为大家解析下SQL注 射的原理,以及给出一些预防方法。
一:基础篇
分析下漏洞产生的原因,主要还是参数没完全过滤。
cntid = Request("cntid")
这样的语句就存在一个注入攻击,首先,没验证是否为整数
解决方法:
<% dim cntid
cntid =replace(request("cntid "),"","")
if (not isnumeric(cntid)) then
call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "

操作: 参数错误!
"
response.write "
"
response.write "


"
response.write " 参数错误!!!非法探测已经被记录

"
response.write " 返回"
response.write "

"
end sub
%>

这是一个最基础的过滤,如果提交非法参数效果如图1:


那么我们还需要注意什么?
用户名的注册,必须过滤掉一些特殊符号,继续刚才的话题,我们假设是username.
<% dim username
username =replace(request("username "),"","")
if Instr(username,"=")>0 or Instr(username,"%")>0 or Instr(username,chr(32))>0 or Instr(username,"?")>0 or Instr(username,"&")>0 or Instr(username,";")>0 or
Instr(username,",")>0 or Instr(username,"")>0 or Instr(username,",")>0 or Instr
(username,chr(34))>0 or Instr(username,chr(9))>0 or Instr(username," ")>0 or
Instr(username,">")>0 or Instr(username,"<")>0 or Instr(username,"$")>0 or Instr
(username,"#")>0 or Instr(username,"@")>0 then

call error
response.end
end if
sub Error()
response.write "

cellpadding=4 cellspacing=0 >"
response.write " "
response.write " "
response.write " "
response.write " "
response.write " "
response.write "
"
response.write "
操作: 参数错
误!
"
response.write "
"
response.write "


"
response.write " 用户名中含有非法字符(“=”,“%”,
“?”,“&”,“;”,“,”,“”,” ”,“>”,“<”,“$”,“#”,“@”)

"
response.write " href=javascript:onclick=history.go(-1)>返回"
response.write "

"
end sub
%>
利用这个原理,我们还能过滤一些可能存在cookies跨站脚本的地方:
只 要过滤cookie,java这样的字眼,方法同上。需要注意的事,类似与用户登陆的地方,用户名一定要username =replace(request("username "),"",""),意思就是把’过滤成”,这样做的目的就是预防’ or ‘’=’这样的入侵。
可是如果类似 action = search
我们可以这样过滤
<% action=request("action")
select case action
case "search"
call search()
case else
call search()
end select
sub search ()
这里是search的内容
end sub
%>
大家可以看到无论对错,都执行search。这样也可以预防SQL。
二:密码安全
采用不可逆加密是必须的选择,防止别人探测到密码后暴力破解,MD5用艿氖迪址浅<虻ィ?姹闳フ腋鯩D5函数体,很多源代码都 带。
这里是引入MD5函数
<% dim username
username =md5(md5(replace(request("username "),"","")))
%>
这里就实现了2次MD5加密,一般2-3次就足够了,暴力破解比较困难:)
COOKIES欺骗问题很严重,所以一般后台管理员一定要session验证。实现方法
我们在登入成功后写入
session("btadmin")=rsadmin("admin")
建立一个验证函数cookies.asp
内容如下
<%
if session("btadmin")="" then
response.redirect "admin.asp"
end if
%>

在每个管理员操作文件的开头加上

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30791) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30790) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30789) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30788) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30787) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30786) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30785) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30784) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30783) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30782) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30781) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30780) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30779) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30778) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30777) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30776) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30775) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30774) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30773) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30772) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30771) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30770) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30769) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30768) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30767) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30766) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30765) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30764) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30763) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30762) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30761) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30760) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30759) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30758) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30757) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30756) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30755) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30754) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30753) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30752) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30751) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30750) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30749) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30748) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30747) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30746) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30745) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30744) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30743) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30742) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30741) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~

这样就可以预防非法登陆了:)
我们经常看到验证码这样的东西,这样做是为了预防暴力破解。
实现方法,假设登入为login.asp
我们在开头加:
<%
dim p
randomize ‘对随机数生成器做初始化的动作
p = Int((8999 * Rnd) + 1000)
session("cntcode")=p %>

插入验证代码的表格

请输入验证码


在左边框输入: <%=session("cntcode")%>

最后验证程序:
<%
if request("yanzhen")="" or trim(session("cntcode"))
<>trim(replace(request("yanzhen"),"","")) then
response.write " 请正确输入您的验证码。"
response.end
else
%>
程序运行效果如图2:

三:数据库安全
爆库的方法越来越多,我们来看下:如图3

按X档案以前文章一位大侠说的,将/替换为 %5c,确实很多网站都存在这样的漏洞。大家可以清楚的看到数据库地址。
偶什么方法可以预防呢?
。。。(代码见杂志)。。。。。。。。。。。

这是一个数据库连接文件,大部分为conn.asp
关键在与on error resume next出错了也执行下一句
我们看下他的运行效果。


除了图片显示不正常外,没暴露数据库:)
其实浪心建议用WIN2003做服务器,当你用%5c 来替换的时候
_blank>
自动换成%5cfourm.asp/多个/
_blank>%5cfourm.asp/?cntid=4
找不到服务器,唯一的结果,更厉害:)
还有一种方法就是不让对方下载数据库
方法是
新建一个notdown表,字段为nodown, 数据类型为ole 如图4

保存为mdb.mdb
OK,我们写个nodown.asp
代码如下
。。。(代码见杂志)。。。。。。。。。。。
把他同数据库一同上传到你的空间,或者本地做个IIS,运行nodown.asp
提示添加记录成功。
OK,把数据库重新命名为mdb.asp
直接在浏览器里输入数据库地址:提示
Active Server Pages 错误 ASP 0116
丢失脚本关闭分隔符
/bbs/cntlovebbs.asp,行 44042
Script 块缺少脚本关闭标记(%>)。
用快车下载提示HTTP 500错误
OK到这里数据库安全也过去了:)下面说下浪心新的思维:)没任何技术难度,会VB的都会写:)
四:安全的后台登入
。。。(代码见杂志)。。。。。。。。。。。

OK了:)程序简单的出奇,他的功能可不小哦:)你的网站可以比以前安全许多。

阅读(30740) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~