ASP后台WEBSHLL的问题

王朝知道·作者佚名  2009-07-06
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

有一个网站,有‘OR’=‘OR‘的漏洞,后台采用ASP语言编写,如何才能修复这个漏洞,跪求高手写下详细方法。

參考答案:

1.现在3年前的漏洞还有很多站存在,login.asp后台用'or''='或'or'='or'者代替用户名密码获得管理员.

解决方法:搜索login.asp下的<from找到下边的

CODE: [Copy to clipboard]

--------------------------------------------------------------------------------

username=request.Form("name")

pass=request.Form("pass")

修改为

CODE: [Copy to clipboard]

--------------------------------------------------------------------------------

username=Replace(request.Form("name"), "'", "''")

pass=Replace(request.Form("pass"), "'", "''")

语法是屏蔽'和''这个来达到效果.

2.现在再介绍简单有效的傻瓜防止asp-sql注入的方法

在需要注入的页面顶部加入:

CODE: [Copy to clipboard]

--------------------------------------------------------------------------------

<!--#Include File="SqlX.Asp"-->

这个sqlx.asp文件放在同1个目录

sqlx.asp的内容如下:

CODE: [Copy to clipboard]

--------------------------------------------------------------------------------

<%

Dim Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx

'---定义部份 头------

Fy_Cl = 1 '处理方式:1=提示信息,2=转向页面,3=先提示再转向

Fy_Zx = "Error.Asp" '出错时转向的页面

'---定义部份 尾------

'----------版权说明----------------

'badwolfSQL通用防注入 V1.0 ASP版

'本程序由 badwolf 独立开发

'--------badwolf 版权所有-----------

On Error Resume Next

Fy_Url=Request.ServerVariables("QUERY_STRING")

Fy_a=split(Fy_Url,"&")

redim Fy_Cs(ubound(Fy_a))

On Error Resume Next

for Fy_x=0 to ubound(Fy_a)

Fy_Cs(Fy_x) = left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"=")-1)

Next

For Fy_x=0 to ubound(Fy_Cs)

If Fy_Cs(Fy_x)<>"" Then

If Instr(LCase(Request(Fy_Cs(Fy_x))),"'")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"and")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"select")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"update")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"chr")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"delete%20from")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),";")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"insert")<>0 or Instr(LCase(Request(Fy_Cs(Fy_x))),"mid")<>0 Or Instr(LCase(Request(Fy_Cs(Fy_x))),"master.")<>0 Then

select Case Fy_Cl

Case "1"

Response.Write "<Script Language=JavaScript>alert('出现错误!参数 "&Fy_Cs(Fy_x)&" 的值中包含非法字符串!\n\n 漏洞修复-badwolfQQ:***********');window.close();</Script>"

Case "2"

Response.Write "<Script Language=JavaScript>location.href='"&Fy_Zx&"'</Script>"

Case "3"

Response.Write "<Script Language=JavaScript>alert('出现错误!参数 "&Fy_Cs(Fy_x)&"的值中包含非法字符串!\n\n 漏洞修复-badwolfQQ:***********');location.href='"&Fy_Zx&"';</Script>"

End select

Response.End

End If

End If

Next

%>

最近入侵1站发现有上述2个漏洞直接帮他修复了.

参考资料:

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航