asp.net安全问题

本文探讨了五种常见的ASP.NET安全缺陷,包括盲目信任用户输入、篡改参数、信息泄漏、SQL注入式攻击和跨站脚本执行。建议开发者在多个层面验证用户输入,使用SQL参数API防止SQL注入,对外发数据进行HTML编码以防止跨站脚本执行。此外,使用自动安全测试工具能有效提升应用程序的安全性。
摘要由CSDN通过智能技术生成

 五种常见的ASP.NET安全缺陷

保证应用程序的安全应当从编写第一行代码的时候开始做起,原因很简单,随着应用规模的发展,修补安全漏洞所需的代价也随之快速增长。根据IBM的系统科学协会(Systems Sciences Institute)的研究,如果等到软件部署之后再来修补缺陷,其代价相当于开发期间检测和消除缺陷的15倍。

  为了用最小的代价保障应用程序的安全,在代码本身的安全性、抗御攻击的能力等方面,开发者应当担负更多的责任。然而,要从开发的最初阶段保障程序的安全性,必须具有相应的技能和工具,而真正掌握这些技能和工具的开发者并不是很多。虽然学写安全的代码是一个复杂的过程,最好在大学、内部培训会、行业会议上完成,但只要掌握了下面五种常见的ASP.NET应用安全缺陷以及推荐的修正方案,就能够领先一步,将不可或缺的安全因素融入到应用的出生之时。

  一、不能盲目相信用户输入

  在Web应用开发中,开发者最大的失误往往是无条件地信任用户输入,假定用户(即使是恶意用户)总是受到浏览器的限制,总是通过浏览器和服务器交互,从而打开了攻击Web应用的大门。实际上,黑客们攻击和操作Web网站的工具很多,根本不必局限于浏览器,从最低级的字符模式的原始界面(例如telnet),到CGI脚本扫描器、Web代理、Web应用扫描器,恶意用户可能采用的攻击模式和手段很多。

  因此,只有严密地验证用户输入的合法性,才能有效地抵抗黑客的攻击。应用程序可以用多种方法(甚至是验证范围重叠的方法)执行验证,例如,在认可用户输入之前执行验证,确保用户输入只包含合法的字符,而且所有输入域的内容长度都没有超过范围(以防范可能出现的缓冲区溢出攻击),在此基础上再执行其他验证,确保用户输入的数据不仅合法,而且合理。必要时不仅可以采取强制性的长度限制策略,而且还可以对输入内容按照明确定义的特征集执行验证。下面几点建议将帮助你正确验证用户输入数据:

  ⑴ 始终对所有的用户输入执行验证,且验证必须在一个可靠的平台上进行,应当在应用的多个层上进行。

  ⑵ 除了输入、输出功能必需的数据之外,不要允许其他任何内容。

  ⑶ 设立“信任代码基地”,允许数据进入信任环境之前执行彻底的验证。

  ⑷ 登录数据之前先检查数据类型。

  ⑸ 详尽地定义每一种数据格式,例如缓冲区长度、整数类型等。

  ⑹ 严格定义合法的用户请求,拒绝所有其他请求。

  ⑺ 测试数据是否满足合法的条件,而不是测试不合法的条件。这是因为数据不合法的情况很多,难以详尽列举。

  二、五种常见的ASP.NET安全缺陷

  下面给出了五个例子,阐述如何按照上述建议增强应用程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
0x00 前言 3 0x10 WEBDAV 3 0x20 IIS6短文件名漏洞 3 0x30 网站源代码 4 0x40 网站备份文件、说明文件、数据库备份文件与robots.txt 4 0x41 网站备份文件 4 0x42说明文件 4 0x43数据库备份文件 5 0x44 Robots.txt 5 0x50 未验证的上传页面 5 0x51 经典的upload.asp/upfile.asp组合 5 0x52 与之类似的上传漏洞 5 0x53黑名单验证 5 0x54 shtml/shtm/stm文件爆源码 5 0x55其他方式 5 0x56 MIME 类型检查 6 0x57 一个偷懒用的JS提交代码 6 0x60留言板攻击与非法注册 6 0x61 留言板攻击 6 0x62非法注册 6 0x70未经授权访问的后台文件 7 0x80 万能密码与登陆框注入 7 0x81 万能密码 7 0x82 登陆框注入 7 0x90 注入攻击 7 0xA0后台功能利用 8 0xA1 配置文件插马 8 0xA2 数据库备份 8 0xA3 后台中的上传页面 8 0xA4目录遍历与任意文件下载 9 0xA5 利用SQL执行功能导出SHELL 9 0xA6 模板/JS等生成页面 9 0xB0其他 9 0xB1 细心,耐心与笔记 9 0xB2 阅读源码 9 0xB3判断是否是JS验证 9 0xB4 一个关于IIS6解析漏洞的小知识 9 0xB5 狗、神、盾 10 0xB6 IIS7 10 0xB7 COOIKE伪造,百度谷歌搜索CMS漏洞 10 0xB8 编辑器后台 10 0xC0附件 10 0xC1 沙盘sandbox 10 0xC2 LOCK数据包 10 0xC3 IISWRITE 10 0xC4 ACCESS跨库查询测试站点 11 0xC5 IIS短文件名漏洞利用工具 11 0xC6 经典上传漏洞测试站点 11 0xC7 eweb与fck漏洞资料 11 0xC8 lake2一句话加密工具 11 0xC9 留言板CSRF测试站点与利用代码 11 0xCA 万能密码列表 11 0xCB ACCESS偏移注入知识 11 0xCC 带有一句话木马的数据库 11 0xCD 杨凡大牛发出的文档 12 0xCE Upload_Attack_Framework文档 12 0xD0参考资料 12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值