前言

最近读完了《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的最爱!你可以在BUGTraq和Metasploit等类似网站找到漏洞列表。

12.DDOS

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

13.针对认证的攻击

(1)伪装型加密

(2)认证破坏

(3)跨站点跟踪

(4)暴力破解密钥

后记

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

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

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

  1. 服务器有效设置防止web入侵

    既然是我们的防范是从入侵者角度来进行考虑,那么我们就首先需要知道入侵者的入侵方式.目前较为流行web入侵方式都是通过寻找程序的漏洞先得到网站的webshell然后再根据服务器的配置来找到相应的可以利用 ...

  2. Web入侵之利用编辑器漏洞入侵

    Web入侵之利用编辑器漏洞入侵 Ewebeditor漏洞详细可参考:https://www.0dayhack.com/post-426.html 1.常见的编辑器 常见的有Ewebeditor,fck ...

  3. 如何正确的进行网站入侵渗透测试

    大家都知道渗透测试就是为了证明网络防御按照预期计划正常运行而提供的一种机制,而且够独立地检查你的网络策略,一起来看看网站入侵渗透测试的正确知识吧. 简单枚举一些渗透网站一些基本常见步骤: 一 .信息收 ...

  4. web性能压力测试工具材料

    很好的博客 http://www.nj-test.com/post/75-1.html :http://www.51testing.com/?uid-116228-action-spacelist-t ...

  5. 十大开源Web应用安全测试工具

    点击蓝字关注我们 Web应用安全测试可对Web应用程序执行功能测试,找到尽可能多的安全问题,大大降低黑客入侵几率. 在研究并推荐一些最佳的开源Web应用安全测试工具之前,让我们首先了解一下安全测试的定 ...

  6. 180多个Web应用程序测试示例测试用例

    180多个Web应用程序测试示例测试用例 假设:假设您的应用程序支持以下功能 各种领域的表格 儿童窗户 应用程序与数据库进行交互 各种搜索过滤条件和显示结果 图片上传 发送电子邮件功能 数据导出功能 ...

  7. 三种web性能压力测试工具

    三种web性能压力测试工具http_load webbench ab小结 题记:压力和性能测试工具很多,下文讨论的是我觉得比较容易上手,用的比较多的三种 http_load 下载地址:http://w ...

  8. 软件测试:Web应用渗透测试的详细步骤和工具组合

    众所周知,在应用设计中的某个简单的缺陷.配置上的错误.以及网络钓鱼攻击,都可能给Web服务器造成巨大的损失.有统计显示,全球有75%的IT领导者,对其Web应用的安全性缺乏信心.因此近年来,Web应用 ...

  9. WEB网站渗透测试方案

    曾经写过的一个方案.拿出来晒晒. 目录: WEB网站渗透测试方案 1 一. Web网站渗透测试概述 1 1.1概述 2 1.2渗透测试对象 3 1.3现场安排 4 二. Web网站渗透测试技术 4 2 ...

最新文章

  1. 使用mysql_使用MySQL
  2. 一个新游戏的思路;大家来说说看,觉得好的话,我做成游戏
  3. entity framework 6 我写了一个公用数据类
  4. 让Windows 8 / 8.1 以及 Windows Server 2012 / 2012 R2的桌面,显示我的电脑图标
  5. 查看操作系统版本linux_LINUX操作系统常用操作收录(二):查看文件内容命令小结...
  6. JavaScript版代码执行
  7. [leetcode]1131. 绝对值表达式的最大值 --绝对值表达式枚举拆分的方法
  8. 菜鸟认知--DIP,Ioc,DI,Ioc容器
  9. 海量数据排序问题一一 100G 数据,只有 100M 内存,怎么排序?
  10. C++ 组合 (Composition)
  11. 七牛云图片服务器搭建,对接
  12. 电压监测器:线性稳压IC 台湾合泰LDO系列
  13. 阻碍你登上成功宝座的20大不良习惯
  14. uniapp 小程序 ios 音频播放 没有声音的问题
  15. 【Redis缓存中间件必须要掌握的面试知识】
  16. Spring Cloud Gateway(二):Spring Cloud Gateway整合Eureka应用
  17. 学完C语言可以学什么--C/C++图形库Easyx(万字教程,一文入门)
  18. 全国计算机vf题库,全国计算机等级VF机试题库.pdf
  19. R中Warning message:Computation failed in stat_stratum():could not find function “default_missing“
  20. 智能路灯控制器 智慧杆集控网关选型指南

热门文章

  1. ASP.Net MVC——使用 ITextSharp 完美解决HTML转PDF(中文也可以)
  2. 测试ODBC与OLE
  3. PC-计算机动行命令里的密密!系统管理程序!
  4. eclipse中的感叹号和x号解决方法
  5. 网络协议基础:“工作中模模糊糊的概念,这次终于理顺了!”
  6. php对象json,php 把对象转化为json
  7. Dubbo负载均衡算法
  8. 请解释Spring Bean 的自动装配?
  9. TransactionProducer(事务消息)
  10. 常用函数式接口之Supplier