标题:新手请教'or'='or' 网站漏洞修补
只看楼主
gitti0
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-7-25
结帖率:0
已结贴  问题点数:20 回复次数:3 
新手请教'or'='or' 网站漏洞修补
大家好,我是新手,我新做了一个网站,后台有'or'='or'漏洞我在网上找的方法修补不了,请大家帮我修补一下,谢谢了!
源代码我贴上来了:
<!--#include file="../Conn.asp" -->
<%
sql="select * from config"
set rs=server.CreateObject("ADODB.RecordSet")
rs.open sql,conn,1,3
Response.CacheControl = "no-cache"
dim GetCode
%>
<HTML>
<HEAD>
<TITLE><%=rs("webName")%> - 管理登陆</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="images/style.css" type=text/css rel=stylesheet>
<SCRIPT language=javascript>
<!--//
function SetFocus()
{
if (document.myform.adminname.value=="")
document.myform.adminname.focus();
else
document.myform.adminname.select();
}
function CheckForm()
{
if(document.myform.adminname.value=="")
{
alert("请输入您的用户名!");
document.myform.adminname.focus();
return false;
}
if(document.myform.adminpwd.value == "")
{
alert("请输入您的密码!");
document.myform.adminpwd.focus();
return false;
}
if(document.myform.admincode.value == "")
{
alert("请输入您的密码!");
document.myform.admincode.focus();
return false;
}
}
function CheckBrowser()
{
var app=navigator.appName;
var verStr=navigator.appVersion;
if (app.indexOf('Netscape') != -1) {
alert("<%=rs("webName")%>提示:\n    你使用的是Netscape浏览器,可能会导致无法使用后台的部分功能。建议您使用 IE6.0 或以上版本。");
}
else if (app.indexOf('Microsoft') != -1) {
if (verStr.indexOf("MSIE 3.0")!=-1 || verStr.indexOf("MSIE 4.0") != -1 || verStr.indexOf("MSIE 5.0") != -1 || verStr.indexOf("MSIE 5.1") != -1)
alert("<%=rs("webName")%>提示:\n    您的浏览器版本太低,可能会导致无法使用后台的部分功能。建议您使用 IE6.0 或以上版本。");
}
}
//-->
</SCRIPT>

<META content="MSHTML 6.00.2900.3314" name=GENERATOR>
<style type="text/css">
<!--
body {
    margin-top: 88px;
}
-->
</style>
</HEAD>
<BODY>
<TABLE style="BORDER-RIGHT: 3px outset; BORDER-TOP: 3px outset; BORDER-LEFT: 3px outset; WIDTH: 0px; BORDER-BOTTOM: 3px outset" cellSpacing=0 cellPadding=1 align=center bgColor=#ffffff border=0>
<FORM name=myform onSubmit="return CheckForm();" action=admin_check.asp method=post target=_top>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width=605 align=center border=0>
<TBODY>
<TR>
<TD background="images/admin_login_r1_c1.jpg" colSpan=3 height=17></TD></TR>
<TR>
<TD vAlign=top width=24><IMG height=212 src="images/admin_login_r2_c1.jpg" width=23></TD>
<TD vAlign=top align=middle width=494 bgColor=#ffffff>
<TABLE height=100 cellSpacing=0 cellPadding=0 width="100%" border=0><TBODY>
<TR>
<TD vAlign=bottom align=right background="images/admin_login_r2_c2.jpg" height=100></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=6 cellPadding=0 width="100%" align=center border=0>
<TBODY>
<TR>
<TD align=center width="22%" rowSpan=5><a href="<%=rs("webUrl")%>" title="<%=rs("webName")%>"><img src="../images/logo.gif" border="0"></a></TD>
<TD align=left width="78%">用户名: <INPUT style="BACKGROUND-COLOR: #eeefff" size=25 name=adminname></TD></TR>
<TR>
<TD align=left>密 码: <INPUT style="BACKGROUND-COLOR: #eeefff" type=password size=25 name=adminpwd></TD></TR>
<TR>
<TD align=left>验证码: <input name="admincode" type="text" size="8" maxlength="4" value="
<%If GetCode=9999 Then Response.Write "9999"%>" style="background-color: #EEEFFF;"> 请在附加码框输入
<IMG style="CURSOR: pointer" onclick="this.src='inc/CheckCode.asp'" height=10 alt="验证码,看不清楚?请点击刷新验证码" src="inc/CheckCode.asp"></TD></TR>
<TR>
<TD align=left>
<INPUT type=hidden value=Login name=Action>
<INPUT class=button type=submit value=登陆系统 name=Submit>&nbsp;&nbsp;
<INPUT class=button onclick=window.location.reload() type=button value=刷新本页 name=refresh>&nbsp;&nbsp;
<INPUT class=button onClick="javascript:location.href='../'" type=button value=返回首页 name=Submit1></TD></TR></TBODY>
</TABLE></TD>
<TD vAlign=top width=88><IMG height=212 src="images/admin_login_r2_c3.jpg" width=88></TD></TR>
<TR>
<TD align=middle background="images/admin_login_r4_c1.jpg" colSpan=3 height=21></TD></TR>
</TBODY></TABLE></TD></TR>
</FORM>
</TBODY>
</TABLE>
<SCRIPT language=JavaScript>
<!--
CheckBrowser();
SetFocus();
-->
</SCRIPT>
</BODY>
</HTML>

[ 本帖最后由 gitti0 于 2011-7-25 17:44 编辑 ]
搜索更多相关主题的帖子: 网站 sql content include 源代码 
2011-07-25 17:31
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:20 
增加SQL防注入代码

用法
将下面的代码保存为asp文件用include到每个asp页面的最开头
<%
'SQL防注入函数  

dim errmsg
errmsg=0
sub SafeRequest(ParaValue)  
    ParaValue = Trim(Request.QueryString(ParaValue))  
    If ParaValue = "" Then  
       errmsg=0   
        Exit Function  
    End If
    checkSQLStr ParaValue  
End sub  

sub SafeRequestForm(ParaValue)  
    ParaValue = Trim(Request.Form(ParaValue))  
    If ParaValue = "" Then  
       errmsg=0   
        Exit Function  
    End If
    checkSQLStr ParaValue  
End sub  

sub checkSQLStr(ParaValue)
   '要过滤的字符以","隔开  
    LockValue = "',Select,Update,Delete,insert,Count(,drop table,truncate,Asc(,Mid(,char(,xp_cmdshell,exec master,net localgroup administrators,And,net user,Or"  
    LockValue = Split(LockValue, ",")  
    '判断是否有注入  
    For i = 0 To UBound(LockValue)  
        If InStr(LCase(ParaValue), LCase(LockValue(i)))>0 Then  
            errmsg = 1  
            Exit For  
        End If  
    Next   
end sub

'检测Request.Form
sub N_check_form()
If Request.Form<>"" Then
For Each req_F In Request.Form
  SafeRequestForm req_F
Next
end if
end sub

call N_check_form()

'检测Request.QueryString
dim testVar 'SQL注入检测临时变量
testVar=''
sub N_check_Qs()
If Request.QueryString<>"" Then
 For Each req_Qs In Request.QueryString
  SafeRequest req_Qs
 Next
end if
end sub

call N_check_Qs()

if errmsg=1 then
   response.write "<script language=javascript >alert('非法参数');window.history.go(-1);</script>"
   response.end
end if
%>

[ 本帖最后由 yms123 于 2011-7-26 01:32 编辑 ]
2011-07-26 01:30
gitti0
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-7-25
得分:0 
谢谢版主的热心帮助!
SQL防注入其实我已用通用防注入系统3.1版可行,只是我想清楚我的代码那些语句没有过滤好。
2011-07-26 08:54
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
有漏洞的不在LZ贴的代码,sql注入漏洞都在需要传参数对数据库操作的页面
2011-07-26 12:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-346063-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.119417 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved