跨入安全的殿堂--读《Web入侵安全测试与对策》感悟

简介:

前言

    最近读完了《Web入侵安全测试与对策》,从中获得了不少灵感。此书介绍了很多Web入侵的思路,以及国外著名安全站点,使我的眼界开阔了不少。在此,我重新把书中提到的攻击模式整理归纳了一遍,并附上相关的一些参考资料,希望会对各位Web开发人员和安全测试人员有所帮助。

    现在Web攻击方式日新月异,但基本思想很多都源于下面的攻击方式,比如,下面提到的“SQL注入”和“命令注入”就是注入思想的不同体现。另外,本文的目的不在于“详细介绍每种提到的攻击技术”,而在于“让大家知道要程序安全,我们起码要了解哪些东西”


Web入侵攻击方式

一.客户端试探性攻击

1. 查找敏感信息

(1)HTML代码中的注释,隐藏域,及其他敏感信息。

    现在很多工具可以帮助你分析网页,比如:PageSpy,Firebug等等。

(2)服务端出错信息。比如:


(3)程序出错提示。

    经典例子是网站登陆,登陆的时候需要输入账号&密码,如果服务器对于错误账号返回一个错误信息“该账号不存在”,对于错误的密码返回另外一个正确信息“账号密码错误”。那么攻击者就可以根据返回值猜测用户名,并继续下一步的攻击。

2.猜测文件与目录

    如果你有过把一个论坛的Access数据库下载下来的经历,那你应该会对这种攻击方式记忆犹新。另外,如果访问配置文件没有好好保护,后果也一样严重。

3.绕过客户端的输入限制/验证(客户端的数据不可信)

    绕过客户端的验证或者限制有很多方式,直接把Web页面的JavaScript脚本去掉,另外一种方式是,拦截发送包,直接把它改掉。

4.修改Cookie

    你在大学图书馆的机器上有发现Cookie文件吗?你是否想过把它的过期时间修改便可继续使用呢?

    网上有很多关于Cookie的文章,书中也推荐了一个外国站点:Dutchduck。,有兴趣可以了解一下。


二.利用Web漏洞实现攻击

5.第三方库/组件的漏洞

    使用第三方资源无可避免,但还是留个心眼吧:>。

6.会话劫持(Session Hijak)

    会话劫持除了通过监听实现外,其实还通过其他形式的,比如:直接修改Cookie的会话标识,或者修改HTTP包头的Cookie信息等等。但一般比较简单的劫持方式还是通过监听。

    这里稍微说一下,会话劫持曾在我上高中的很流行,因为那时候局域网组建大多数还是使用HUB,监听很方便。但随着交换机的普及,会话劫持也渐渐安静了下来。而现在,会话劫持似乎又随着无线网普及又开始兴起了:>

    要在无线网下实施劫持可以使用:hamster

    要在交换机环境中实施会话劫持,可以使用:SSCLONE

    了解监听的原理:《网络嗅探技术浅析》。

7.跨站式攻击(XSS)

    根据不同的使用,XSS可以分为“存储型XSS”和“反射型XSS”。

    存储型XSS:攻击者通过在评论/留言等方式输入恶意信息,当其他用户访问该网站时,服务器便会从数据库中取出相关的恶意信息,并回显给用户。这种方式,可以看作是攻击者在网站上挂了一个恶意脚本。

    反射型XSS:把脚本信息内嵌到URL的CGI参数上,通过邮件或者其他方式,引诱你去点击该链接。

    一般XSS最终目的都是:

    (1)盗取个人信息。

    (2)下载病毒木马。

    (3)在真实网站中嵌入欺骗信息。

    现在存储型的XSS漏洞网站似乎比较少了,但反射型的还有很多。

8.注入攻击

(1)SQL注入

(2)命令注入

(3)……

   其实注入的思想都是一样的,只是应该的地方不同。他们共同的特征是:输入特殊的字符,改变原有的业务流程/欺骗服务器。关于SQL注入,可以参考《Advanced SQL Injection In SQL Server Applications》。

9.缓冲区溢出

    在.NET,Java盛行的今天,缓冲区溢出这类问题基本很少出现了。这里我只是提一下,有兴趣的可以参考《Smashing The Stack For Fun And Profit》和Michael Howard的《The 19 Deadly Sins of Software Security》。

    另外,我们可以使用“SPIKE  Proxy”测试Web应用程序的缓冲区溢出问题。

10.非法数据

    能否使用编码方式使一些非法字符蒙混过关?Web服务端是否会因为这些数据而异常呢?

11.服务器探测

    扫描服务器,看是否存在其他漏洞,0Day永远是hacker的最爱!你可以在BUGTraqMetasploit等类似网站找到漏洞列表。

12.DDOS

    老牌的无赖攻击方式了:>。

13.针对认证的攻击

(1)伪装型加密

(2)认证破坏

(3)跨站点跟踪

(4)暴力破解密钥


后记

    虽然文章不长,但还是花不少时间。作为安全入门级的文章,本文只列出最基础的攻击方式,但这些攻击方式往往有最为有效。对安全有兴趣的朋友可以留言交流一下心得,日后我也会继续整理一些安全相关文档:>。



本文转自hyddd博客园博客,原文链接:http://www.cnblogs.com/hyddd/archive/2009/09/09/1563139.html,如需转载请自行联系原作者。


目录
相关文章
|
2月前
|
安全 测试技术 网络安全
如何在Python Web开发中进行安全测试?
如何在Python Web开发中进行安全测试?
|
2月前
|
安全 关系型数据库 测试技术
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
38 4
|
12天前
|
传感器 安全 物联网
阿里云先知安全沙龙(北京站) ——车联网安全渗透测试思路分享
本文介绍了智能汽车的整车架构、协议栈结构、攻击点分析、渗透思路及案例分享。整车架构涵盖应用层、协议层和物理层,详细解析各层次功能模块和通信机制。攻击点包括Wi-Fi、USB、NFC等,展示车辆通信接口和系统组件的安全风险。渗透思路从信息收集到系统内部探索,利用固件漏洞控制车辆功能。案例展示了网段隔离不足导致的SSH访问和OTA日志审计漏洞,揭示了潜在的安全威胁。
|
12天前
|
缓存 安全 搜索推荐
阿里云先知安全沙龙(北京站) ——浅谈Web快速打点
信息收集是网络安全中的重要环节,常用工具如Hunter、Fofa和扫描工具可帮助全面了解目标系统的网络结构与潜在漏洞。遇到默认Nginx或Tomcat 404页面时,可通过扫路径、域名模糊测试、搜索引擎缓存等手段获取更多信息。AllIN工具(GitHub: P1-Team/AllIN)能高效扫描网站路径,发现敏感信息。漏洞利用则需充分准备,以应对突发情况,确保快速拿下目标站点。 简介:信息收集与漏洞利用是网络安全的两大关键步骤。通过多种工具和技术手段,安全人员可以全面了解目标系统,发现潜在漏洞,并制定有效的防御和攻击策略。
|
21天前
|
安全 应用服务中间件 网络安全
实战经验分享:利用免费SSL证书构建安全可靠的Web应用
本文分享了利用免费SSL证书构建安全Web应用的实战经验,涵盖选择合适的证书颁发机构、申请与获取证书、配置Web服务器、优化安全性及实际案例。帮助开发者提升应用安全性,增强用户信任。
|
2月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
36 4
|
2月前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
82 1
|
2月前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
107 4
|
2月前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
91 2
|
2月前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
118 3