写给那些ASP.NET程序员:网站中的安全问题

news/2024/5/12 14:29:47/文章来源:https://blog.csdn.net/god_7z1/article/details/7191849
在网络经常看到网站被挂马、主页被修改的新闻,其实这些问题可能是多方面的,服务器,网站程序等等。。。但是现在溢出已经被人们重视和服务器的不断完善,服务器系统漏洞也不是那么容易发掘,当然也要保证第三方的软件安全。
做项目也有一段时间了。在程序中也遇到很多安全方面的问题。也该总结一下了。这个项目是一个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写的文章http://blog.csdn.net/lake2/archive/2008/04/02/2245754.aspx
解决方法:
在lake2的文章中也提出了。就是修改信息时添加验证码。或添加Session令牌(ASP.NET中已经提供一个自动防范的方法,就是用页面属性ViewStateUserKey.在Page_Init方法中设置其值。this.ViewStateUserKey=Session.SessionID)。
4:文件上传
引起原因:
      如果你的网站使用的是在线编辑器,如FCKEditor,eWeb等等,如果没有处理好文件上传,那么上线后网站会很快的被篡改。
解决方法:
      其实我在以前的笔记中曾写过这类文章:http://www.cnblogs.com/applelure/archive/2009/01/03/1367382.html

     

转自:code life

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_716272.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LogParser的IIS网站分析技巧

日志分析&#xff0c;特别是IIS日志&#xff0c;一般人都会想到LogParser工具&#xff0c;的确很强。但是命令行的操作界面令很多非专业的管理人员望而生畏&#xff0c;现在好了&#xff0c;有一个可视化的LogParser的UI工具可以使用了&#xff01; Log Parser Lizard 1.1&…

来了,又一个新的SQL刷题网站!

大家好&#xff0c;我是小五????毋庸置疑&#xff0c;SQL是数据分析师需要掌握的一个基本的技能。之前我也分享过几个SQL在线学习网&#xff0c;比如SQLZOO、XUESQL、w3resourc等。当然&#xff0c;除了学习网站还有面试刷题的网站&#xff0c;比如Leetcode、牛客网等。今天…

网站站长必须知道的两种重定向方式

网站重定向技术是每个网站站长必须知道的&#xff0c;在网站改版&#xff0c;或网站搬家的时候一定会用得上网页重定向这个技术&#xff01;现在我和大家分享网站站长必须知道的两种重定向方式! 下面我们首先来了解一下两种重定向方式的区别&#xff1a;1、什么时候我应该使用r…

网站运营,先分清web1.0与web2.0「社区运营入门系列①」

大概在八年前&#xff0c;和朋友聊天时提及Web2.0&#xff0c;这是我第一次听到这个名词。当时不记得他是怎么解释这个名词的&#xff0c;只留下了一个印象&#xff1a;这将是今后互联网的大趋势。回去后我立即就百度了一下&#xff0c;一看不要紧&#xff0c;顿时就晕菜了&…

租个服务器自己写自己的网站,自己写一个web服务器(1)

web服务器一个运行在物理服务器上的网络服务器&#xff0c;它等待客户端发送的请求。当它收到一个请求&#xff0c;它会生成一个回复并传回到客户端。一个客户端和服务器的通信可以通过HTTP协议实现。HelloWorld# coding: utf-8import socketHOST, PORT , 8888listen_socket …

移动虚拟服务器,移动网站需要什么样的虚拟主机空间

移动互联网现在发展的越来越快&#xff0c;随着智能手机的普及&#xff0c;几乎是所有的人都可以使用移动端搜索需要的内容。因此现在越来越多的企业开始注重移动端的网站。那么&#xff0c;我们如果要搭建移动网站需要怎样的虚拟主机空间呢&#xff1f;移动网站需要什么样的虚…

在 Web 服务器或网站上配置 SSL

可以在 Web 服务器或网站上配置安全套接字层 (SSL) 安全功能以检验内容完整性、用户标识和加密网络传输。 Important 只有本地计算机上 Administrators 组的成员才能执行以下过程。作为安全性最佳操作&#xff0c;请使用不属于 Administrators 组的帐户登录计算机&#xff0c;然…

为网站配置SSL

从StartSll申请免费的SSL证书,该网站只支持IE,FireFox,Opera,Safari浏览器,并且注册成功后是以证书来登陆. 注册地址:https://www.startssl.com/?app12 注:注册过程中不要关闭浏览器. 第一步:填写注册信息,注意地址需要详细.如果地址信息不全,会人工发邮件给你,让你发详细地址…

越狱的 iPhone、iPad 通过网站实现一键安装 ipa 格式的 APP 应用

1、已经 越狱 的 iPhone、iPad 设备&#xff0c;当通过其自带的 safari 浏览器访问 ipa 应用下载网站时&#xff0c;利用 itms-services 协议&#xff0c;可以一键安装 ipa 文件的 iOS 应用&#xff0c;例如&#xff1a;<a href"itms-services://?actiondownload-mani…

如何更有效使用 Rational AppScan 扫描大型网站

http://www.ibm.com/developerworks/cn/rational/r-cn-appscanlargewebsite1/index.html Rational AppScan 工作原理 Rational AppScan&#xff08;简称 AppScan&#xff09;其实是一个产品家族&#xff0c;包括众多的应用安全扫描产品&#xff0c;从开发阶段的源代码扫描的 Ap…

让你的网站在IE8的兼容模式下运行

众所周知&#xff0c;微软的Internet Explorer团队一直在致力于将IE8打造为最符合业内标准的浏览器&#xff0c;所不幸的是&#xff0c;当前并非所有的网站都认同这些标准。如果你担心你的网站在IE8的标准模式下不能正常工作的话&#xff0c;下面这些方法也许对你有所帮助&…

bootstrap4 网格布局实例_网站设计师的10个糟糕网页设计实例和常见错误

本文讨论了10个糟糕的网页设计示例和常见错误&#xff0c;以帮助网站设计人员更好地了解好的和坏的网页设计之间的区别。在我们开始之前&#xff0c;我有一个问题&#xff1a;设计网站时&#xff0c;你的首要任务是什么&#xff1f;是吸引人的外观&#xff1f;还是酷炫的效果&a…

建站之星最新0DAY

作者&#xff1a;honker90 //code public function save_profile() {$user_info ParamHolder::get(user, array());//获取数组if (sizeof($user_info) < 0) {$this->assign(json, Toolkit::jsonERR(__(Missing user information!)));return _result;}$passwd_changed f…

配置squid 反向代理提高网站性能

本文旨在介绍 squid 反向代理的工作原理的基础上&#xff0c;指出反向代理技术在提高网站访问速度&#xff0c;增强网站可用性、安全性方面有很好的用途。 现在有许多大型的门户网站都采用 squid 反向代理技术来加速网站的访问速度&#xff0c;可将不同的URL请求分发到后台不同…

网站统计中的数据收集原理及实现

网站统计中的数据收集原理及实现 网站数据统计分析工具是网站站长和运营人员经常使用的一种工具&#xff0c;比较常用的有谷歌分析、百度统计和腾讯分析等等。所有这些统计分析工具的第一步都是网站访问数据的收集。目前主流的数据收集方式基本都是基于javascript的。本文将简要…

构架高性能WEB网站的几点知识

构架高性能WEB网站的几点知识 前言&#xff1a; 对于构架高性能的web网站大家都很感兴趣&#xff0c;本文从几点粗谈高性能web网站需要考虑的问题。 HTML静态化 什么是html静态化&#xff1f; 说得简单点&#xff0c;就是把所有不是.htm或者.html的页面改为.htm或者.html 1.纯…

网站测试自动化系统—数据驱动测试

在前面的文章网站测试自动化系统—基于Selenium和VSTT当中&#xff0c;我简单介绍了使用selenium录制测试步骤&#xff0c;以及优化生成的C#代码&#xff0c;对代码使用面向对象的编程理念进行一些封装&#xff0c;以便规避网站界面更动对测试代码所带来的风险。 在网站测试当中…

网页设计欣赏:20个带给你灵感的国外网站作品

如今这个网络竞争激烈的时代&#xff0c;怎样让网站吸引更多的用户访问是一件非常有挑战的事情&#xff0c;为了设计出更有创意的网页&#xff0c;网页设计师都会去网上寻找创意的灵感。为此&#xff0c;今天这篇文章向大家分享20个从网络上挑选出来的精美绝伦的国外网站设计作…

【应急案例】某云用户网站入侵应急响应

1 情况概述 该案例是前期应急处置的一起因安全问题导致的内网不稳定的情况。写下来&#xff0c;和大家一起讨论应急响应的一些思路及其中间遇到的一些坑&#xff0c;欢迎大牛指点、讨论。 情况是这样的&#xff1a;某用户发现在网络经常出现内网中断的情况&#xff0c;经其内部…

【应急案例】真实网站劫持案例分析

1. 概述 上段时间一直忙于处理大会安全保障与应急&#xff0c;借助公司云悉情报平台&#xff0c;发现并处置几十起网站被劫持的情况。对黑客SEO技术颇有感觉。正好这段时间有时间&#xff0c;把以前遇到比较有趣的案例和大家分享一下。里面很多技术其实早已被玩透&#xff…