安基网 首页 安全 安全学院 查看内容

ASP漏洞分析

2004-9-29 20:05| 投稿: security


免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!

摘要: 对一类ASP安全漏洞的分析及解决方案的探讨 近日,本人用ASP编写一套新闻管理系统。其间从网上查阅了很多相关资料,也下载了不少...
对一类ASP安全漏洞的分析及解决方案的探讨 近日,本人用ASP编写一套新闻管理系统。其间从网上查阅了很多相关资料,也下载了不少有关的成套系统。通读了源码后发现了很多问题。在此提出其中较为普遍一例,希望能给大家帮助。 相必大家都很明白,ASP编程中,身份验证是相当重要而常用的。而很多网上的免费ASP程序对这方面处理的却不竟人意。下面以XX工作室出品的一个小系统来看问题具体出在哪里。先来看如部分相关程序: index.asp: XX工作室注册系统 //-->
用户名: 口 令:
  • 无声息格式化磁盘的API,VB版
  • 从进程寻找木马的痕迹
  • 黑客与网站的龙虎风云(2)
  • 正确使用杀毒软件 打造快速温馨系统环境
  • 手工删除3721网络实名
  • 如何进行键盘监控
  • 在Java语言应用中实现UDP协议编程的方法
  • 主动防御型杀毒软件的技术探讨
  • 黑客教你怎样用Excel剿灭DLL木马
  • Castle Rock公司SNMPc V5 V6两版本惊现漏洞
  • 最新评论

     最新
    &n bsp;
    处理请求的login.asp程序如下: <% dim conn dim connstr on error resume next connstr="DBQ="+server.mappath("db1.mdb")+";DefaultDir=;DRIVER={Microsoft Acce ss Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") conn.open connstr Set rs = Server.CreateObject("ADODB.RecordSet") user=request.form("UserID") pwd=request.form("Password") sql="select * from reg where username="&user&" and password="&pwd&"" rs.open sql,conn,1,1 if not rs.eof then response.redirect "main.asp" elseif rs.eof and rs.bof then response.write "密码错误或没有这个用户注册" end if %> 大家看过是否发现有何不拖之处?我们分析一下,index.asp中,接收用户输入用户名及密码,并用checkform()函数检查用户名和密码理否为空,如果为空的话,提示出错信息。 在login.asp中,接收用户输入的Userid和Password数据,并分别赋值给user和pwd,然后再用sql="select * from reg w here username="&user&" and password="&pwd&"" 这句来对用户名和密码加以验证。 以常理来考虑的话,这是个很完整的程序了。而在实际的使用过程中,整套程序也的确可能正常使用。 但是如果Userid的值和password的值被赋于:x or1=1 这时,sql="select * from reg where username="&user&" and password="&pwd&"" 就成了: sql="select * from reg where user=x or 1=1 and pass=x or 1=1" 怎么样?!我不说大家也明白了吧! 既然有这样的问题,接下来我们就来看看如何解决它。从上面的程序中各位也可以看出,只要对用户输入的数据进行严格过滤就可以了。具体可以参下面的程序: <% user=request.from("UserID") pass=request.from("password") for i=1 to len(UserID) cl=mid(UserID,i,1) if cl="" or us="%" or us="" then response.redirect "error.htm" response.end end if next %> 同样是先取得用户输入数据,然后分析用户输入的每一个字符,如发现异常,则转到错误页面。 if cl="" or us="%" or us="" then 这一句中可以加入任意的过滤字符,跟据具体情况而定。

    小编推荐:欲学习电脑技术、系统维护、网络管理、编程开发和安全攻防等高端IT技术,请 点击这里 注册账号,公开课频道价值万元IT培训教程免费学,让您少走弯路、事半功倍,好工作升职加薪!



    免责声明:本站系公益性非盈利IT技术普及网,本文由投稿者转载自互联网的公开文章,文末均已注明出处,其内容和图片版权归原网站或作者所有,文中所述不代表本站观点,若有无意侵权或转载不当之处请从网站右下角联系我们处理,谢谢合作!


    鲜花

    握手

    雷人

    路过

    鸡蛋

    相关阅读