前两周在做一个项目,接近尾声时对应用系统进行了安全缺陷检查,主要是通过 IBM Rational AppScan 工具(之前是 WatchFire 的产品)自动进行的。通过对结果的整理、研究对 Web 应用的安全检测和漏洞防范有了新的理解和认识。在这里分享一下,实际上一些概念也比较常见了,其中还结合了几个实际的样例代码,希望大家能够有所交流、提高。
SQL Injection
简单说SQL注入缺陷就是攻击者可以通过应用系统的漏洞提交SQL脚本代码,根据应用系统处理后返回的错误提示信息,这种错误消息能够使攻击者获得用于执行更精确的攻击所需要的信息,通过反复实验和推测获得某些攻击者需要的但本不应被访问到的数据,这就是所谓的SQL Injection,即SQL注入。
Blind SQL Injection
这种安全缺陷与上述的“标准”的SQL注入缺陷类似,不过最大区别在于攻击者在没有应用系统返回的错误相关提示信息的情况下,仍然可以通过原本在在的SQL注入漏洞攻击应用系统。“标准”SQL注入攻击会使应用系统开发人员相信只要消除这种可能会被利用的提示消息就会解决引起SQL注入式攻击的潜在的问题,但开发人员可能不会认识到虽然这样会隐藏可能被利用的提示消息,但原有的安全缺陷性仍然存在。这样虽然会为攻击者增加困难,但却不能阻止攻击者使用错误消息收集信息,攻击者会不断地将伪造SQL“注入”给应用系统,以期获得非法访问的数据。
Cross-Site Scripting
跨站点脚本攻击(XSS/CSS)安全缺陷,往往存在于那些提供动态网页的Web应用系统中。这类Web站点提供动态的页面,这类页面由为用户动态建造的多个源站点的信息组成。如果应用系统存在该漏洞,则攻击者可以将恶意内容(一般为代码)插入到Web站点提供动态的页面中,以收集其他用户在使用被攻击页时提交的重要信息,或简单的在其它用户的浏览器上执行攻击脚本代码。
HTTP Response Splitting
这种缺陷是 CRLF Injection 的一种特例,其发生在 HTTP Header 中。攻击的基本原理是通过向存在漏洞的应用系统提交一段攻击目的脚本代码,并在代码之前传入CRLF(CRLF:Carriage Return (CR, ASCII 13, \r) Line Feed (LF, ASCII 10, \n)),这两个字符经常被用来作为换行,通过配合跨站点脚本攻击(XSS/CSS)方法,就可以通过HTTP Response内容,将由攻击者构造的脚本代码返回给被攻击用户的浏览器,进而窃取到攻击者感兴趣的信息。
HTTP Referer Header SQL Injection
利用该缺陷,攻击者可以通过在HTTP 请求头中的Referer域中添加特定的攻击脚本代码来获取应用系统或服务器信息,或者根据HTTP响应返回的错误提示信息获得用于执行更精确的攻击所需要的信息,往往通过方式完成SQL注入类攻击。
HTTP User-Agent Header SQL Injection
这种安全缺陷与HTTP Referer Header SQL Injection缺陷是一样的,只是攻击者利用的是HTTP请求中的User-Agent域。
Login Error Messages Credential Enumeration
用户登录出错信息泄漏缺陷,存在该漏洞的应用系统登录页面会随着攻击者输入不同的登录信息,返回不同的错误信息。在这种情况下,攻击者可以不断尝试登录操作,以获得用于执行更精确攻击所需要的信息。此种漏洞很容易被暴力攻击工具攻入(brute-force)。建议应用系统返回统一一致的错误信息以避免攻击。
Login Sequence Response Splitting
该缺陷也是 CRLF Injection 的一种特例,指 CRLF 发生在登录相关的页面中。存在漏洞的应用系统允许攻击者在登录相关页面中提交包括CRLF和脚本代码,这样就可以通过HTTP Response内容,将由攻击者构造的脚本代码返回给被攻击用户的浏览器,进而窃取被攻击者感兴趣的信息。
暂时就是这些,其中一些缺陷的名称可能 AppScan 与其它略有不同,不过表达的意思是相同的。
注明:以上所有内容和代码,如与我有关项目或文档有相似之处纯属巧合。
写在最后,本来这个东西是写在Word 里的,不过一粘贴到 je 里来就乱了,真是害的我好头痛,最后无奈将所有样例都存成图片提交。希望 je 继续提升博客的编辑功能!上面提到的所有内容,在附件的 Word 文档中可以找到文字版本,尤其是涉及的样例部分。
// 2008.12.31 15:44 添加 ////
Google 到一篇结合真实案例解释 Cross-Site Scripting 和 HTTP Response Splitting 安全缺陷原理的文章,写得不错。
老树开新花,再看 HTTP Response Splitting 攻击
// 2008.12.31 21:01 添加 ////
IBM Rational AppScan 官方网站,现在提供了试用版下载。
Rational AppScan
// 2009.01.14 17:08 添加 ////
又研究研究,这里做了一些补充。
几个常见的 Web 应用安全缺陷及样例(续)
// 2009.03.07 13:30 添加 ////
作者:lzy.je
出处:http://lzy.iteye.com
本文版权归作者所有,只允许以摘要和完整全文两种形式转载,不允许对文字进行裁剪。未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
- 大小: 67.7 KB
- 大小: 30.1 KB
- 大小: 30.4 KB
- 大小: 48 KB
- 大小: 117.7 KB
分享到:
相关推荐
标题 "几个常见的 Web 应用安全缺陷及样例(续)" 暗示了这篇文档将延续之前关于Web应用安全缺陷的话题,可能包括对已有的常见问题的深入解析,也可能涉及新的安全漏洞实例。描述中提到的博客链接可能是原始讨论的一...
《web之困:现代web应用安全指南》在web安全领域有“圣经”的美誉,在世界范围内被安全工作者和web从业人员广为称道,由来自google chrome浏览器团队的世界顶级黑客、国际一流安全专家撰写,是目前唯一深度探索现代...
撇开语言和平台来讲,Web应用程序的源代码是入侵缺陷的主要来源。CSI(计算机安全协会)...在本文里,作者将说明如何对一个用ASP.NET编写的Web例子应用程序做自动化审查,并制作了一个Python脚本工具用于做源代码分析
Web Service附加身份认证样例主要探讨了如何为Web服务添加额外的安全层,确保只有授权的用户或系统能够访问服务。这个样例可能涵盖了多种身份验证机制,包括基本认证、摘要认证、以及更高级的令牌或证书认证。 Web...
这个"SSM框架WEB工程样例"是一个实际应用SSM框架的示例项目,旨在帮助开发者理解并掌握如何在Web环境中集成和使用这三大框架。 **Spring框架**:Spring是一个全面的企业级应用开发框架,它提供了IOC(Inversion of ...
本资源摘要信息将对 web 安全常见漏洞进行浅析,涵盖 Web 业务与应用逻辑缺陷。 一、Web 业务逻辑缺陷 Web 业务逻辑是指 Web 应用程序中与业务相关的逻辑,例如注册、登录、忘记密码、支付逻辑等。在 Web 业务逻辑...
《web之困:现代web应用安全指南》在web安全领域有“圣经”的美誉,在世界范围内被安全工作者和web从业人员广为称道,由来自google chrome浏览器团队的世界顶级黑客、国际一流安全专家撰写,是目前唯一深度探索现代...
此外,还需要深入理解Web应用程序漏洞的分类、成因及挖掘和利用方法,掌握至少一种数据库的相关知识,如默认用户名和口令、存储过程、常见配置缺陷,以及其他网络服务的漏洞挖掘和利用,如FTP、Mail、P2P服务等。...
常见应用安全产品——web应用防火墙(WAF) 路由器 核心交换机 接入交换机 接入交换机 接入交换机 Web应用服务器群 WAF Web应用防火墙串联透明部署在Web服务器的前端,在物理层面是Web服务器的前端多了一台硬件设备...
在动态Web应用中,动态生成的HTML页面产生的缺陷难以定位并且会严重影响Web...为验证该方法的有效性,对几个基于PHP的开源Web程序进行实验,结果表明该方法在Web应用的HTML缺陷检测定位覆盖率和准确率方面都有所改进。
web之困:现代web应用安全指南》在web安全领域有“圣经”的美誉,在世界范围内被安全工作者和web从业人员广为称道,由来自google chrome浏览器团队的世界顶级黑客、国际一流安全专家撰写,是目前唯一深度探索现代web...
常见的web应用漏洞和检测方案 明文信息传输漏洞 敏感信息泄露 默认或可猜解用户账户 会话重放攻击测试 验证码缺陷 http方法测试 不安全的cookie传输 CSRF漏洞测试 会话设计缺陷 会话定置测试 会话复杂度测试 会话...
本篇将详细介绍Web服务的基本概念、工作原理,以及提供一个实现样例,帮助理解Web服务的实践应用。 一、Web服务基本概念 1. **SOAP(Simple Object Access Protocol)**:Web服务主要使用的通信协议,它基于XML,...
《白帽子讲Web安全》一书主要涵盖了以下几个核心知识点: 1. **Web安全基础**:书中首先介绍了Web安全的基础知识,包括HTTP协议、Web应用架构以及常见的攻击模式,如SQL注入、跨站脚本(XSS)和跨站请求伪造(CSRF...
微信小程序webapi开发测试样例
WEB应用安全攻击与防范培训教程,包括各种常见web攻击方式及防范方法。超过百页的PPT教程,最全的WEB攻击与防范PPT教程
Web安全测试是信息安全领域的一个重要分支,主要关注于Web应用的安全缺陷,它包括了对网站、Web服务器、Web应用程序和Web服务的安全性评估。它不仅涉及到应用层的攻击,如钓鱼攻击、跨站脚本攻击、SQL注入攻击等,还...
《Web安全深度剖析》总结了当前流行的高危漏洞的形成原因、攻击手段及解决方案,并通过大量的示例代码复现漏洞原型,制作模拟环境,更好地帮助读者深入了解Web 应用程序中存在的漏洞,防患于未然。 《Web安全深度...
漏洞就是软件设计时存在的缺陷,安全漏洞就是软件缺陷具有安全攻击应用方面的价值。软件系统越复杂,存在漏洞的可能性越大。 2、漏洞出现哪些地方?(2天) 前端静态页面 脚本 数据 服务:主机、网络 系统逻辑 移动...