ASP.NET登录安全性问题

endlessw 2010-02-03 04:04:01
使用存储过程 DL_CheckUser
当页面用户名和密码全部输入后
login.aspx页面部分代码
if(txtusname.text!=string.empty&&txtpwd!=string.empty)
{
session["userName"]=username;
response.write("default.aspx");
}

今天使用了IBM的appscan扫描工具进行扫描,发现如下错误
以前一般都是这么写,现在问题来了

1. 使用 SQL 注入的认证旁路
(txtPassword) http://xxx.vicp.net/login.aspx
(txtUserName) http://xxx.vicp.net/login.aspx
针对这个问题的解决方案
若干问题的补救方法在于对用户输入进行清理。
通过验证用户输入未包含危险字符,便可能防止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL 查询、嵌入将在客户端执行的 Javascript 代码、运行各种操作系统命令,等等。

2.会话标识未更新
针对这个问题的解决方案
始终生成新的会话,供用户成功认证时登录。
防止用户操纵会话标识。
请勿接受用户浏览器登录时所提供的会话标识


第一个,我已经使用存储过程,出于客户端攻击,网上查了下资料,列如:
HashMethod hm = new HashMethod();
string userPassword=Server.HtmlDecode(hm.Encrypto(txtPassword.Text.Trim()));
密码经过加密,而且使用Server.HtmlDecode()方法获取客户端的值,这样还是没有通过他的安全检验。。。

第二个,每次生成新的会话,不是很了解这句话的意思。请安全方面的高手指点~大家也可以讨论下 一般登录要多安全才能通过这些安全软件的扫描。。。

http://www.fsnws.com/html/net/anquanxiangguan/20090826/83.html
IBM Rational AppScan下载,7z文件格式,破解版的,大家可以去下载扫描下自己的web应用程序。

IBM Rational AppScan Standard Edition V7.8.1多语言版本,最关键是支持简体中文,IBM Rational AppScan 是很不错的Web应用安全扫描工具,和Acunetix Web Vulnerability Scanner以及HP Webinspect相比它支持中文,appscan在每次扫描到漏洞后,会给出相应的java/.net/php等的解决方案,让你一目了然。内含appscan破解补丁,先用keygen生成证书,再运行破解程序,就可以成功导入证书了。破解之后可以升级软件。

...全文
1324 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿拉敏敏 2012-07-02
  • 打赏
  • 举报
回复
上面有位大神貌似的意思是不是在登录页面使用一个session["Name"],跳转到主页面去后,重新换一个session来继承他的session["Name"]的值,我不知道这样的session转变是不是真的可以吧安全提高啊?
boliheng0714 2012-05-31
  • 打赏
  • 举报
回复
请问一下你的“会话标识未更新”的漏洞是怎么解决的?
方便指导一下我吗,谢谢
xiaoyuehen 2010-03-24
  • 打赏
  • 举报
回复
没搞过!
yutan_313 2010-03-24
  • 打赏
  • 举报
回复
mark一下,我正面临这个问题,会话标识未更新。头痛啊,现在甲方不给我们验收,就是这个问题。
swalp 2010-02-08
  • 打赏
  • 举报
回复
没搞过!
lawbc 2010-02-07
  • 打赏
  • 举报
回复
没搞过什么安全登录的
KFCILIKEIT 2010-02-07
  • 打赏
  • 举报
回复
顶楼上的,这里应该和数据库交互,不是空就能进啊!有专门的登录控件啊
ycproc 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 lovexiaoxiao 的回复:]
学习了!
[/Quote]


学习来的
Skyhoo 2010-02-07
  • 打赏
  • 举报
回复
if(txtusname.text!=string.empty&&txtpwd!=string.empty)
{
session["userName"]=username;
response.write("default.aspx");
}

你这两句代码。。貌似不是空就可以跳转了?

我还是建议你用 authentication mode="Forms" 来显示用户访问后台文件夹文件,除非登陆后才可以访问
Skyhoo 2010-02-07
  • 打赏
  • 举报
回复
不要用SESSION认证,用 身份验证

读取数据用SQL参数化读取
endlessw 2010-02-07
  • 打赏
  • 举报
回复
还有没有高手啊。。。为什么没有人呢?
lstc 2010-02-04
  • 打赏
  • 举报
回复
如果您的客户接受强身份认证方式,那么客户端可以采用USBKey的方式登录、挑战-应答的认证方式
cena_jin 2010-02-04
  • 打赏
  • 举报
回复
学习学习!!
YnSky 2010-02-04
  • 打赏
  • 举报
回复
Up
小鹏 2010-02-04
  • 打赏
  • 举报
回复
session加认证机制
  • 打赏
  • 举报
回复
session就ok了,不必这么复杂
wuyq11 2010-02-03
  • 打赏
  • 举报
回复
登录数据参数查询信息
数字证书
减少使用cookie
antony1029 2010-02-03
  • 打赏
  • 举报
回复
mark
Andytuoye 2010-02-03
  • 打赏
  • 举报
回复
mark
zhouzangood 2010-02-03
  • 打赏
  • 举报
回复
up
加载更多回复(16)
本人资源全部免费,更多资源,请加关注!! ==================================== 作者:(美国)麦克唐纳(Matthew MacDonald) 译者:施宏斌 马煜 Matthew MacDonald,曾荣获微软最有价值专家称号,并通过了微软的MCSD认证,是一位知名作家、教育家。他在编程方面作出了许多重要贡献,撰写了多本有关.NET编程的经典书籍。除本书外,Matthew的著作还包括Pro Pro .NET 20 Windows Formsand Custom Controls(Apress),Pro ,NET 2.0 Windows Formsand Custom Controls in VB2005(Aptress)和Pro WPF Windows Presentation Foundation in .NET3.0(Apress)。 ===================================================== 欢迎阅读《ASP.NET3.5从入门到精通(C#2008版)》!《ASP.NET3.5从入门到精通(C#2008版)》提供了最新、最全面的ASP.NET入门知识。ASP.NET是一个开发现代Web应用程序的架构。使用ASP.NET可以开发出安全、极速并具有高度可扩展性的Web应用程序。ASP.NET的最大优势在于,它包含了大量现成的功能,比如网站导航、数据绑定、主题和用户管理等。使用ASP.NET平台,可以创建从小型动态个人网站到大规模电子商务网站的任何类型的Web应用程序。 《ASP.NET3.5从入门到精通(C#2008版)》假定读者只具有基本的C#语言知识,因此在《ASP.NET3.5从入门到精通(C#2008版)》的开始部分将对C#进行简要的介绍,具有较多C#编程经验的人也可以将这些基础性的介绍作为一个快速的回顾。在《ASP.NET3.5从入门到精通(C#2008版)》的ASP.NET探索之旅中,将介绍设计可靠Web应用程序所需的关键原则,包括数据库、ASP.NET安全和执行性能等方面的问题。《ASP.NET3.5从入门到精通(C#2008版)》还将从头开始介绍面向对象程序设计以及Web窗体的代码分离开发,一切示例都将从实战角度出发,而不是纸上谈兵的肤浅介绍。 经过《ASP.NET3.5从入门到精通(C#2008版)》的学习,您将精通网站开发的核心技术,并掌握成为一个专业ASP.NET开发人员的必备知识。 欢迎来到ASP.NET3.5的世界!
ASP.NET ASP.NET 概述 ASP.NET 是一个统一的 Web 开发模型,它包括您使用尽可能少的代码生成企业级 Web 应用程序所必需的各种服务。ASP.NET 作为 .NET Framework 的一部分提供。当您编写 ASP.NET 应用程序的代码时,可以访问 .NET Framework 中的类。您可以使用与公共语言运行库 (CLR) 兼容的任何语言来编写应用程序的代码,这些语言包括 Microsoft Visual Basic、C#、JScript .NET 和 J#。使用这些语言,可以开发利用公共语言运行库、类型安全、继承等方面的优点的 ASP.NET 应用程序。 ASP.NET 包括: 页和控件框架 ASP.NET 编译器 安全基础结构 状态管理功能 应用程序配置 运行状况监视和性能功能 调试支持 XML Web services 框架 可扩展的宿主环境和应用程序生命周期管理 可扩展的设计器环境 页和控件框架 ASP.NET 页和控件框架是一种编程框架,它在 Web 服务器上运行,可以动态地生成和呈现 ASP.NET 网页。可以从任何浏览器或客户端设备请求 ASP.NET 网页,ASP.NET 会向请求浏览器呈现标记(例如 HTML)。通常,您可以对多个浏览器使用相同的页,因为 ASP.NET 会为发出请求的浏览器呈现适当的标记。但是,您可以针对诸如 Microsoft Internet Explorer 6 的特定浏览器设计 ASP.NET 网页,并利用该浏览器的功能。ASP.NET 支持基于 Web 的设备(如移动电话、手持型计算机和个人数字助理 (PDA))的移动控件。 ASP.NET 网页是完全面向对象的。在 ASP.NET 网页中,可以使用属性、方法和事件来处理 HTML 元素。ASP.NET 页框架为响应在服务器上运行的代码中的客户端事件提供统一的模型,从而使您不必考虑基于 Web 的应用程序中固有的客户端和服务器隔离的实现细节。该框架还会在页处理生命周期中自动维护页及该页上控件的状态。有关更多信息,请参见 ASP.NET 网页概述。 使用 ASP.NET 页和控件框架还可以将常用的 UI 功能封装成易于使用且可重用的控件。控件只需编写一次,即可用于许多页并集成到 ASP.NET 网页中。这些控件在呈现期间放入 ASP.NET 网页中。 ASP.NET 页和控件框架还提供各种功能,以便可以通过主题和外观来控制网站的整体外观和感觉。可以先定义主题和外观,然后在页面级或控件级应用这些主题和外观。有关更多信息,请参见 ASP.NET 主题和外观概述。 除了主题外,还可以定义母版页,以使应用程序中的页具有一致的布局。一个母版页可以定义您希望应用程序中的所有页(或一组页)所具有的布局和标准行为。然后可以创建包含要显示的页特定内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,产生将母版页的布局与内容页中的内容组合在一起的输出。有关更多信息,请参见 ASP.NET 母版页概述。 ASP.NET 编译器 所有 ASP.NET 代码都经过了编译,可提供强类型、性能优化和早期绑定以及其他优点。代码一经编译,公共语言运行库会进一步将 ASP.NET 编译为本机代码,从而提供增强的性能。 ASP.NET 包括一个编译器,该编译器将包括页和控件在内的所有应用程序组件编译成一个程序集,之后 ASP.NET 宿主环境可以使用该程序集来处理用户请求。有关更多信息,请参见 ASP.NET 编译概述。 安全基础结构 除了 .NET 的安全功能外,ASP.NET 还提供了高级的安全基础结构,以便对用户进行身份验证和授权,并执行其他与安全相关的功能。您可以使用由 IIS 提供的 Windows 身份验证对用户进行身份验证,也可以通过您自己的用户数据库使用 ASP.NET Forms 身份验证和 ASP.NET 成员资格来管理身份验证。此外,可以使用 Windows 组或您自己的自定义角色数据库(使用 ASP.NET 角色)来管理 Web 应用程序的功能和信息方面的授权。您可以根据应用程序的需要方便地移除、添加或替换这些方案。有关更多信息,请参见下列主题: ASP.NET 网站安全性 使用成员资格管理用户 使用角色管理授权 Forms 身份验证提供程序 ASP.NET 始终使用特定的 Windows 标识运行,因此,您可以通过使用 Windows 功能(例如 NTFS 访问控制列表 (ACL)、数据库权限等等)来保护应用程序的安全。有关 ASP.NET 标识的更多信息,请参见配置 ASP.NET 进程标识和 ASP.NET 模拟。 状态管理功能 ASP.NET
ASP.NET开发典型模块大全(修订版)》以关键技术和热点技术为核心,通过27个典型模块和5章热点技术,全面地介绍了如何使用asp.net进行各领域的web项目开发。全书共3篇分为32章,第1篇关键模块篇,覆盖网站开发的关键领域,内容涉及论坛、博客、播客、网络硬盘、电子邮件、在线考试、网站备忘录、在线短消息、网站访问量统计与分析、系统后台管理权限分配等网站关键模块;第2篇常见模块篇,覆盖网站开发的各个领域,内容涉及网站会员注册及登录、会员密码找回、留言本、上传与下载、图片资源管理、搜索引擎、网上问卷调查、rss在线订阅、聊天室、购物车、在线银行支付、手机短消息管理、在线音乐、投票系统、万能打印、数据自动备份与恢复等常见模块;第3篇热点技术应用篇,解决网站开发在某个领域遇到的技术难题,内容涉及linq数据访问技术、安全技术、服务技术、ajax、高级应用技术等。 《ASP.NET开发典型模块大全(修订版)》附有配套光盘。光盘提供了书中所有案例的全部源代码,并经过精心调试,在windows xp和windows 2000下全部通过,保证能够正常运行。此外,光盘中还提供有编程词典试用版软件。 《ASP.NET开发典型模块大全(修订版)》案例涉及领域广泛,实用性非常强。学习本书读者可以了解各个领域的特点,能够针对某一行业进行软件开发,也可以通过光盘中提供的模块源代码进行二次开发,以减少开发系统所需要的时间。本书适合各级软件开发人员学习使用,也可供大、中专院校师生学习参考。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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