渗透测试

web应用渗透测试流程

2018-09-11  本文已影响7人  道书简

对于web应用的渗透测试,一般分为三个阶段:信息收集、漏洞发现以及漏洞利用。下面我们就分别谈谈每个阶段需要做的事情。

一、信息收集

在信息收集阶段,我们需要尽量多的收集关于目标web应用的各种信息,比如:脚本语言的类型、服务器的类型、目录的结构、使用的开源软件、数据库类型、所有链接页面,用到的框架等。

常见的脚本语言的类型包括:php、asp、aspx、jsp等

测试方法
1 爬取网站所有链接,查看后缀

2 直接访问一个不存在页面后面加不同的后缀测试

3 查看robots.txt,查看后缀

常见的web服务器包括:apache、tomcat、IIS、ngnix等

测试方法
1 查看header,判断服务器类型

2 根据报错信息判断

3 根据默认页面判断

了解更多的目录,可能发现更多的弱点,如:目录浏览、代码泄漏等。

测试方法
1 使用字典枚举目录

2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取

3 查看robots.txt是否泄漏

我们如果知道了目标使用的开源软件,我们可以查找相关的软件的漏洞直接对网站进行测试。

测试方法
1 指纹识别(网络上有很多开源的指纹识别工具)

对于不同的数据库有不同的测试方法。

测试方法
1 使应用程序报错,查看报错信息

2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)

这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。

测试方法
1 使用字典枚举页面

2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取

3 查看robots.txt是否泄漏

很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。

测试方法
1 指纹识别(网络上有很多开源的指纹识别工具)

二、漏洞发现

在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。

2.1关于开源软件的漏洞发现
2.2对于开源软件的测试方法
2.3关于自主开发的应用
2.4可能存在的漏洞Owasp关键点
  • 代码安全之上传文件
  • 代码安全之文件包含
  • 代码安全之SSRF
  • 逻辑漏洞之密码重置
  • 逻辑漏洞之支付漏洞
  • 逻辑漏洞之越权访问
  • 平台安全之中间件安全

三、漏洞利用

这个阶段是web渗透测试的最后阶段,针对不同的弱点有不同的漏洞利用方式,需要的知识点也比较多。一般这个阶段包括两种方式,一种是手工测试,一种是工具测试。

这种方式对于有特殊过滤等操作,或者网络上没有成型的利用工具的时候可以使用,在熟练之后,自己也可以写出自己的利用工具代替手工操作,毕竟手工操作是非常累的。有时候可以结合服务器的配置问题,增加成功率。

网络上有很多好用的免费利用工具,比如针对sql注入的sqlmap、针对软件漏洞的matesploit等。

四、漏洞利用总结

本文简要说明了在做web渗透测试的时候所涉及的信息和操作,可能不是很全面,但是作为一个框架,不同的阶段需要学习更多的知识来填补空缺,所以说安全之路任重而道远。

上一篇 下一篇

猜你喜欢

热点阅读