`
waterpot
  • 浏览: 23980 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类

[转]基本代码安全知识

阅读更多

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代码安全架构-247页.zip

    《代码审计-企业级Web代码安全架构》是一本详尽阐述企业级Web应用程序代码安全的指导书籍,共计247页。这本书旨在帮助开发者、安全工程师以及IT专业人员理解和实施有效的代码审计策略,以保障Web应用程序的安全性。...

    系统源代码安全审计报告.pdf

    系统源代码安全审计报告 本报告对系统源代码进行了安全审计,旨在发现和修复源代码中的安全缺陷,提高系统的安全性。报告的主要内容包括源代码审计概述、审计流程、审计组织、源代码审计范围、源代码审计详情等部分...

    DXF转G代码

    在使用DXF转G代码工具时,还需要了解一些基本的CNC编程知识,例如理解G代码和M代码的意义、掌握工件零点设定、熟悉刀具补偿和换刀程序等。此外,对于复杂的零件,可能需要借助CAM(计算机辅助制造)软件来生成更复杂...

    Java代码直接转化成smail代码工具(完整项目)

    8. **注意事项**:使用这类工具进行代码转换时,要确保遵循版权和许可协议,不要侵犯他人的知识产权。同时,对于商业应用,了解Android签名和反签名过程是必要的,以确保转换后的代码能正确地在设备上运行。 总之,...

    Java基本常用代码示例

    以上这些知识点在压缩包的"Java代码"文件中应该有所体现,通过学习和实践这些示例,你可以更深入地理解Java编程的基本概念和最佳实践。在编程过程中,不断练习和应用这些知识点,将有助于提升你的编程技能。

    asp转.net代码转换工具

    转换工具“asp转.net代码转换工具”(AspToAspXSetup.exe)很可能是一个辅助开发者进行自动化转换的软件。它可能能够识别ASP中的特定语法和结构,并将其转化为对应的ASP.NET代码。然而,要注意的是,完全自动化的...

    java基本程序代码

    对于初学者来说,理解和掌握Java的基本程序代码是学习的关键步骤。在这个压缩包中,我们可能找到一系列针对Java基础知识的代码示例,这对于巩固概念和提高编程技能至关重要。 1. **变量与数据类型**:Java有八种...

    T∕ISEAA 002-2021 信息安全技术 网络安全等级保护大数据基本要求.pdf

    根据提供的文件信息,我们可以梳理出关于《T∕ISEAA 002-2021 信息安全技术 网络安全等级保护大数据基本要求》的知识点。这些知识点涉及了网络安全等级保护2.0(等保2.0)在大数据环境下的基本要求。 首先,要了解...

    网络安全开发包代码及示例

    通过这个压缩包中的代码和示例,开发者可以深入学习网络安全开发的基本原理,提升自己的安全编程技能,并能够将这些知识应用到实际项目中,保护用户的隐私和系统的安全。同时,分享这样的资源也是促进社区学习和进步...

    ESP8266玩具车代码/按下就走/松手就停/转向调速源代码

    4. **安全与优化**:除了基本功能,代码可能还需要考虑电池保护、过热保护、防止电机短路等安全措施。同时,为了提高性能,可能需要进行代码优化,例如减少不必要的计算,提高响应速度,或者采用更高效的算法。 总...

    android 手机安全卫士工程源代码

    总之,通过深入分析“android 手机安全卫士工程源代码”,开发者不仅能掌握手机安全卫士的基本架构,还能提升对Android系统底层机制的理解,为今后的项目开发打下坚实基础。这个过程中,耐心与实践是关键,不断调试...

    网络安全软件代码

    根据给定的信息,我们可以深入分析该段代码以及其与网络安全软件相关的知识点。下面将详细解析这些内容,并结合网络安全领域的背景知识进行阐述。 ### 核心功能解析 #### 1. 组态处理 组态处理是指对系统配置的...

    仿58转转二手商品PHP网站源码-带主页_搭建转转高仿_搭建转转源码_php高仿咸鱼_仿转转源码_php源码转转_

    4. 基本的PHP和Web开发知识:理解代码结构,以便进行必要的配置和调整。 总的来说,这个源码包提供了一个快速创建二手商品交易平台的解决方案,适合那些希望构建类似58转转或咸鱼网站的个人或团队,尤其是对于初学...

    银行系统基本代码

    【银行系统基本代码】是一个与C++编程语言...通过分析和实践这些【银行系统基本代码】,开发者不仅可以加深对C++语言的理解,还能掌握如何将这些知识应用于实际的银行系统开发中,提升自己的编程技能和解决问题的能力。

    C++编写的信息安全技术程序源代码(共29个)

    这些C++程序源代码集合是针对信息安全技术的深入学习和实践而设计的,涵盖了多个关键领域,包括网络通信、加密算法、系统防护以及恶意软件分析等。以下将逐一解析每个子文件的内容及其涉及的知识点: 1. **C++编写...

    GBT22239-2008_信息安全技术_信息系统安全等级保护基本要求

    《GBT22239-2008_信息安全技术_信息系统安全等级保护基本要求》是中华人民共和国国家标准化管理委员会发布的一项国家标准,旨在为我国的信息系统安全等级保护提供基础性的指导和技术规范。这一标准的出台,标志着...

    PHP图像转代码

    实际应用中,"PHP图像转代码"可以用于创建低带宽的图像展示、生成有趣的文本艺术,甚至在某些安全场景下,作为图像信息的加密传输方式。 综上所述,“PHP图像转代码”是一个结合了图像处理、数据转换和文本艺术的...

    sql快速转换成java、C代码

    在IT行业中,数据库操作是必不可少的一部分,SQL...但需要注意的是,尽管自动化工具可以提高效率,但每次转换都应仔细审查生成的代码,以确保其准确性和安全性,因为自动化的转换可能无法处理所有特殊情况。

    网络恶意代码安全手册PDF

    《网络恶意代码安全手册》是一本专注于网络安全领域的专业读物,尤其关注网络中普遍存在的恶意代码问题。恶意代码,如病毒、蠕虫、特洛伊木马、勒索软件等,是网络安全的主要威胁,它们能破坏系统、窃取数据、控制...

Global site tag (gtag.js) - Google Analytics