1. 防止SQL注入
a. 除了过滤单引号“ ’ ”,还要过滤数据库中的注释符号“ – ”。
b. SQL语句中的字符串拼接,是很不靠谱的;实在要拼接,一定要从代码安全的角度多想想。
2. 文件上传漏洞
这是我头一次听说有这么一个漏洞。
现象:
假设我们使用的是IIS6.0及之前版本,当我们上传一个文件名为【熊猫烧香.aspx .jpg】,那么存到服务器上的文件将会是【熊猫烧香.aspx】。
原因:
文件名【熊猫烧香.aspx .jpg】在“.aspx”和“.jpg”之间有一个蛮像空格的符号,其实是通过16进制编码器修改出来的“ \0 ”,IIS6.0及之前版本对于上传文件名的解析是从左向右的,如果在解析时遇到空格,就认为这个文件名已经结束,于是存在服务器上的文件就是【熊猫烧香.aspx】。
解决方案:
我们一般都会对上传文件的后缀名进行检查,但是IIS的漏洞绕过了我们的检查,于是上传文件重命名就是一个不错的解决办法。我们把每次上传文件的后缀拿出来,取个新名字,再加上原后缀,这个问题就可解决。
我在之前的开发,有过上传文件的程序,碰巧我对每个上传文件都进行了重命名,但我并不知道有这个漏洞,运气啊运气…
另外补充两点:
a. 如果文件名中包含特殊字符,比如【熊猫烧香又来了.aspx;不是吧.jpg】这是一个文件名,中间包含分号“ ; ”,IIS6.0及之前版本在上传文件时正常,但是在解析时分号“ ; ”之后的文件名都不认。
b. Apache服务器对上传文件的检查是从右向左的。
3. Cookie欺骗
这个应该很简单,大家都知道从哪里可以拿到cookie,怎么伪装cookie,怎么把一台机器上的cookie移到另外一台… Cookie很常用,特别在跨域访问时,我们常常会把用户名加密以后放在客户端。检查用户是否登录,就会去查看这个cookie,那么请别忘了在检查时加上客户端ip一起校验,在一定程度上可以阻止cookie欺骗。
4. XSS跨站脚本攻击
对于这种攻击,我们要对左右尖括号“<、>”、分号“ ; ”、单引号“ ’ ”进行过滤。我们对于用户输入或者获取来自地址栏的参数值(Request.QueryString["XXX"]),不应支持HTML编码。处理的方法有很多,”HttpUtility.UrlEncode”就是一种。
5. 其他漏洞
标签<body>有个属性”onload”,它会把属性中的值直接解析为javascript脚本,而不需要”<script></script>”或”javascript:”。据说淘宝曾经因为不知道这个漏洞,而导致上万的用户受到损失。
转载自:智博网 http://www.cnblogs.com/BenjaminYao/archive/2010/07/09/1774074.html
分享到:
相关推荐
《代码审计-企业级Web代码安全架构》是一本详尽阐述企业级Web应用程序代码安全的指导书籍,共计247页。这本书旨在帮助开发者、安全工程师以及IT专业人员理解和实施有效的代码审计策略,以保障Web应用程序的安全性。...
系统源代码安全审计报告 本报告对系统源代码进行了安全审计,旨在发现和修复源代码中的安全缺陷,提高系统的安全性。报告的主要内容包括源代码审计概述、审计流程、审计组织、源代码审计范围、源代码审计详情等部分...
在使用DXF转G代码工具时,还需要了解一些基本的CNC编程知识,例如理解G代码和M代码的意义、掌握工件零点设定、熟悉刀具补偿和换刀程序等。此外,对于复杂的零件,可能需要借助CAM(计算机辅助制造)软件来生成更复杂...
8. **注意事项**:使用这类工具进行代码转换时,要确保遵循版权和许可协议,不要侵犯他人的知识产权。同时,对于商业应用,了解Android签名和反签名过程是必要的,以确保转换后的代码能正确地在设备上运行。 总之,...
以上这些知识点在压缩包的"Java代码"文件中应该有所体现,通过学习和实践这些示例,你可以更深入地理解Java编程的基本概念和最佳实践。在编程过程中,不断练习和应用这些知识点,将有助于提升你的编程技能。
转换工具“asp转.net代码转换工具”(AspToAspXSetup.exe)很可能是一个辅助开发者进行自动化转换的软件。它可能能够识别ASP中的特定语法和结构,并将其转化为对应的ASP.NET代码。然而,要注意的是,完全自动化的...
根据提供的文件信息,我们可以梳理出关于《T∕ISEAA 002-2021 信息安全技术 网络安全等级保护大数据基本要求》的知识点。这些知识点涉及了网络安全等级保护2.0(等保2.0)在大数据环境下的基本要求。 首先,要了解...
对于初学者来说,理解和掌握Java的基本程序代码是学习的关键步骤。在这个压缩包中,我们可能找到一系列针对Java基础知识的代码示例,这对于巩固概念和提高编程技能至关重要。 1. **变量与数据类型**:Java有八种...
通过这个压缩包中的代码和示例,开发者可以深入学习网络安全开发的基本原理,提升自己的安全编程技能,并能够将这些知识应用到实际项目中,保护用户的隐私和系统的安全。同时,分享这样的资源也是促进社区学习和进步...
在这样的背景下,《Java代码审计(入门篇)》一书应运而生,为Java开发人员提供了一本详尽的代码安全审计指南,帮助他们掌握如何在开发阶段发现并修复安全漏洞,提升Java Web应用的安全性。 书中开篇即明确指出,...
4. **安全与优化**:除了基本功能,代码可能还需要考虑电池保护、过热保护、防止电机短路等安全措施。同时,为了提高性能,可能需要进行代码优化,例如减少不必要的计算,提高响应速度,或者采用更高效的算法。 总...
总之,通过深入分析“android 手机安全卫士工程源代码”,开发者不仅能掌握手机安全卫士的基本架构,还能提升对Android系统底层机制的理解,为今后的项目开发打下坚实基础。这个过程中,耐心与实践是关键,不断调试...
根据给定的信息,我们可以深入分析该段代码以及其与网络安全软件相关的知识点。下面将详细解析这些内容,并结合网络安全领域的背景知识进行阐述。 ### 核心功能解析 #### 1. 组态处理 组态处理是指对系统配置的...
4. 基本的PHP和Web开发知识:理解代码结构,以便进行必要的配置和调整。 总的来说,这个源码包提供了一个快速创建二手商品交易平台的解决方案,适合那些希望构建类似58转转或咸鱼网站的个人或团队,尤其是对于初学...
【银行系统基本代码】是一个与C++编程语言...通过分析和实践这些【银行系统基本代码】,开发者不仅可以加深对C++语言的理解,还能掌握如何将这些知识应用于实际的银行系统开发中,提升自己的编程技能和解决问题的能力。
这些C++程序源代码集合是针对信息安全技术的深入学习和实践而设计的,涵盖了多个关键领域,包括网络通信、加密算法、系统防护以及恶意软件分析等。以下将逐一解析每个子文件的内容及其涉及的知识点: 1. **C++编写...
《GBT22239-2008_信息安全技术_信息系统安全等级保护基本要求》是中华人民共和国国家标准化管理委员会发布的一项国家标准,旨在为我国的信息系统安全等级保护提供基础性的指导和技术规范。这一标准的出台,标志着...
实际应用中,"PHP图像转代码"可以用于创建低带宽的图像展示、生成有趣的文本艺术,甚至在某些安全场景下,作为图像信息的加密传输方式。 综上所述,“PHP图像转代码”是一个结合了图像处理、数据转换和文本艺术的...
在IT行业中,数据库操作是必不可少的一部分,SQL...但需要注意的是,尽管自动化工具可以提高效率,但每次转换都应仔细审查生成的代码,以确保其准确性和安全性,因为自动化的转换可能无法处理所有特殊情况。