ASP的javascript很冷门吧 这个程序有人会改吗?

lhbyjx 2009-06-15 08:35:13
小弟无能啊,最近用javascript写了个asp的网站 但是在sql注入这里遇到了问题
VBScript 死活改成jscript总是出错,哪位大虾能帮我改改,感谢~。
<%
Dim N_no,N_noarray,req_Qs,req_F,N_i,N_dbstr,Conn,N_rs,N_userIP,N_thispage
N_userip = Request.ServerVariables("REMOTE_ADDR")
N_thispage = LCase(Request.ServerVariables("URL"))
N_no = "'|;|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare" '可以自己修改怀疑是注入操作的字串
N_noarray = split(LCase(N_no),"|")


If Request.Form<>"" Then
For Each req_F In Request.Form
N_check req_F,Request.Form(req_F),"POST"
Next
end if



If Request.QueryString<>"" Then
For Each req_Qs In Request.QueryString
N_check req_Qs,Request.QueryString(req_Qs),"GET"
Next
end if


'检测
sub N_check(ag,agsql,sqltype)
For N_i=0 To Ubound(N_noarray)
If Instr(LCase(agsql),N_noarray(N_i))<>0 Then
call N_regsql(ag,agsql,sqltype)
Response.Write "MO"
end if
Next
end sub

'停止并输出 您可以将此纪录入库,这里只是输出

sub N_regsql(ag,agsql,sqltype)

Response.Write "<Script Language=JavaScript>alert(′请不要在参数中包含非法字符尝试注入!′);</Script>"
Response.Write "<span style=′font-size:12px′>非法操作!系统做了如下记录↓<br>"
Response.Write "操作IP:"&N_userip&"<br>"
Response.Write "操作时间:"&Now&"<br>"
Response.Write "提交方式:"&sqltype&"<br>"
Response.Write "提交参数:"&ag&"<br>"
Response.Write "提交数据:"&agsql&"</span>"
Response.end

end sub

'以上为防SQL注入部分,敏感词可以在N_no中添加


'**************************
'连接MSSQL
'**************************
'Public UConnStr As String = "Persist Security Info=False;User ID=sa;Initial Catalog=dbQueue;Data Source=."
set conn = Server.CREATEOBJECT("ADODB.Connection")
'conn.Open "Persist Security Info=False;User ID=sa;pwd=;Initial Catalog=dbTouch;Data Source=."
conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=192.168.1.2;DATABASE=News;UID=sa;PWD=dasiyebushuo" '连接MSSQL数据库

'**************************
'连接ACCESS
'**************************
'db=dbpath&"db@hbngzy/#I2O5N6J7D9M5S2S0K3E4J4X8K6#.asp" dbpath包含数据库文件的asp网页与数据库的相对地址,方便调用
'Set conn = Server.CreateObject("ADODB.Connection")
'connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
'conn.Open connstr
%>

调试通过后 50分全部奉上
...全文
32 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhbyjx 2009-06-16
  • 打赏
  • 举报
回复
十分感谢!
wcwtitxu 2009-06-15
  • 打赏
  • 举报
回复
呵呵, 防注入不建议使用 过滤 这种一刀切的方法.



<%
var N_no,N_noarray,req_Qs,req_F,N_i,N_dbstr,Conn,N_rs,N_userIP,N_thispage;

N_userip = Request.ServerVariables("REMOTE_ADDR").Item;
N_thispage = Request.ServerVariables("URL").Item.toLowerCase();
N_no = "'|;|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"; // 可以自己修改怀疑是注入操作的字串
N_noarray = N_no.toLowerCase().split(/\|/);

for (var e=new Enumerator(Request.Form); !e.atEnd(); e.moveNext()) {
var theItem = e.item();
N_check(theItem, Request.Form(theItem).Item, "POST");
}


for (var e=new Enumerator(Request.QueryString); !e.atEnd(); e.moveNext()) {
var theItem = e.item();
N_check(theItem, Request.QueryString(theItem).Item, "GET");
}

// 检测
function N_check(ag, agsql, sqltype) {
for (var N_i=0; N_i<N_noarray.length; N_i++) {
if (agsql.toLowerCase().indexOf(N_noarray[N_i])>=0) {
N_regsql(ag, agsql, sqltype);
Response.Write("MO");
}
}
}


// 停止并输出 您可以将此纪录入库,这里只是输出
function N_regsql(ag, agsql, sqltype) {
Response.Write("<Script Language='JavaScript'>alert('请不要在参数中包含非法字符尝试注入!');</Script>");
Response.Write("<span style='font-size:12px'>非法操作!系统做了如下记录↓<br>");
Response.Write("操作IP:" + N_userip + "<br>")
Response.Write("操作时间:" + new Date() + "<br>")
Response.Write("提交方式:" + sqltype + "<br>")
Response.Write("提交参数:" + ag + "<br>")
Response.Write("提交数据:" + agsql + "</span>")
Response.End();
}


var conn = Server.CreateObject("ADODB.Connection");
conn.Open("PROVIDER=SQLOLEDB;DATA SOURCE=192.168.1.2;DATABASE=News;UID=sa;PWD=dasiyebushuo")

// **************************
// 连接ACCESS
// **************************
// var db = dbpath + "db@hbngzy/#I2O5N6J7D9M5S2S0K3E4J4X8K6#.asp"; // dbpath包含数据库文件的asp网页与数据库的相对地址,方便调用
// var conn = Server.CreateObject("ADODB.Connection")
// connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(db);
// conn.Open(connstr);

%>
lhbyjx 2009-06-15
  • 打赏
  • 举报
回复
没人会改吗? 自己再顶起来 期待高人的出现
lhbyjx 2009-06-15
  • 打赏
  • 举报
回复
没人会改吗? 自己再顶起来 期待高人的出现

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧