当前位置:七道奇文章资讯网站建设网站编程
日期:2010-11-29 14:09:00  来源:本站整理

ASP.NET程序员 要注意的安全问题[网站编程]

赞助商链接



  本文“ASP.NET程序员 要注意的安全问题[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

在网络常常看到网站被挂马、主页被改正的新闻,其实这些问题大概是多方面的,服务器,网站程序等等...但是目前溢出已经被人们器重和服务器的不断完善,服务器系统漏洞也不是那么简单发掘,当然也要保证第三方的软件安全.

做项目也有一段时间了.在程序中也碰到很多安全方面的问题.也该总结一下了.这个项目是一个CMS系统.系统是用ASP.NET做的.开辟的时刻发现微软做了很多安全办法,只是有些新手程序员不知道怎么开启.下面我通过几个方面简单介绍:

1:SQL注入
2:XSS
3:CSRF
4:文件上传

1:SQL注入
惹起缘由:
其实目前很多网站中都存在这种问题.就是程序中直接举行SQL语句拼接.大概有些读者不太懂得.下面通过一个登录时对用户考证来阐明:
code:
考证时的sql语句: select * from where user='"+txtUsername.Text+"' and pwd='"+txtPwd.Text+"'
这是一段从数据库中查询用户,对用户名,密码考证.
看上去好象没有什么问题,但是实际这里面浅藏着问题,用户名:admin 密码: admin,
select * from where user='admin' and pwd='admin'
假如用户和密码精确便可通考证.假如我用户名:asdf' or 1=1 -- 密码:随便输入.
我们再来看语句:
select * from where user=‘asdf' or 1=1 -- and pwd=''
履行后看到什么?是不是全部记录,假如程序只是简单判断返回的条数,这种办法便可以通考证.
假如履行语句是SA用户,再通过xp_cmdshell增添系统管理员,那么这个服务器就被拿下了.


办理办法:
(1):这个问题主如果由于传入特别字符惹起的我们可以在对输入的用户名密码进入过滤特别字符处理.
(2):利用存储历程通过传入参数的办法可办理此类问题(注意:在存储历程中不可以利用拼接实现,不然和没用存储过和是一样的).


2:XSS(跨站脚本攻击


惹起缘由:
这个也有时被人们称作HTML注入,和sql注入原理类似,也是没有特别字符举行处理.是用户可以提交HTML标签对网站举行重新的构造.其实在默许的情形下在asp.net网页中是开启validateRequest属性的,全部HTML标签后会.NET城市考证:

但这样直接把非常抛给用户,多罕用户体验就不好.


办理办法:
(1):通过在 Page 指令或 配置节中设置 validateRequest=false 禁用恳求考证,然后我们对用户提交的数据举行HtmlEncode,编码后的就不会呈现这种问题了(ASP.NET 中编码办法:Server.HtmlEncode(string)).
(2):第二种是过滤特别字符,这种办法就不太倡导了,假如用户想输入小于号(<)也会被过滤掉.


3:CSRF(跨站点恳求假造)
惹起缘由:个人认为csrf在Ajax风行的本日来说,倒是便利了,因为它可以在你不知道的情形用你的通过考证用户举行操作,所以也被称为浏览器劫持.假如你已通过某个网站的考证那么你将以你的角色对网站举行操作,比方你是管理员可以增添别的的用户到管理组,但是假若有人构造了增添管理员的链接被管理员点后也会履行呼应操作.具体缘由可参考lake2写的文章CSRF--攻击与防备


办理办法:
在lake2的文章中也提出了.就是改正信息时增添考证码.或增添Session令牌(ASP.NET中已经供应一个自动防备的办法,就是用页面属性ViewStateUserKey.在Page_Init办法中设置其值.this.ViewStateUserKey=Session.SessionID).


4:文件上传
惹起缘由:
假如你的网站利用的是在线编辑器,如FCKEditor,eWeb等等,假如没有处理好文件上传,那么上线后网站会很快的被篡改.


办理办法:
其实我在从前的笔记中曾写过这类文章:FCKEditor编辑器安全配置


  以上是“ASP.NET程序员 要注意的安全问题[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • ASP利用正则表达式提取内容
  • nginx 反向代理iis支持 ASP脚本设置
  • <b>ASP.NET安全设置防备ASPXSpy</b>
  • Ubuntu Server+Apache 运行 asp.net
  • 怎样ASP.NET MVC调用Delphi开辟的Web报表
  • 学习ASP.NET需求举行的步骤办法
  • ASP.NET脚本过滤-避免跨站脚本攻击
  • Asp WinHttp.WinHttpRequest.5.1 对象利用详解
  • ASP防XSS注入函数
  • Asp 防备CC攻击模块 (Anti-CC.asp)
  • metasploit metasploit 中文系统安装失利问题
  • Ubuntu 11下安装Metasploit Pro 4.0.0
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .