专栏首页信安之路web应用渗透测试流程

web应用渗透测试流程

对于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 指纹识别(网络上有很多开源的指纹识别工具)

漏洞发现

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

关于开源软件的漏洞发现

开源的软件

常见的开源软件有:wordpress、phpbb、dedecms等

开源的框架

常见的开源框架有:Struts2、 Spring MVC、ThinkPHP等

中间件服务器

常见的中间件服务器有:jboss、tomcat、Weblogic等

数据库服务

常见的数据库服务:mssql、mysql、oracle、redis、sybase、MongoDB、DB2等

对于开源软件的测试方法

1 通过指纹识别软件判断开源软件的版本信息,针对不同的版本信息去开放的漏洞数据库查找相应版本的漏洞进行测试

2 对于默认的后台登录页、数据库服务端口认证等入口可以进行简单的暴力破解、默认口令尝试等操作

3 使用开源的漏洞发现工具对其进行漏洞扫描,如:WPScan

关于自主开发的应用

手动测试

这个阶段,我们需要手工测试所有与用户交互的功能,比如:留言、登入、下单、退出、退货、付款等操作

软件扫描

使用免费的软件扫描,如:appscan、wvs、netsparker,burp等

可能存在的漏洞

Owasp关键点

代码安全之上传文件

代码安全之文件包含

代码安全之SSRF

逻辑漏洞之密码重置

逻辑漏洞之支付漏洞

逻辑漏洞之越权访问

平台安全之中间件安全

漏洞利用

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

手工测试

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

运维安全之安全隐患

工具测试

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

总结

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

本文分享自微信公众号 - 信安之路(xazlsec),作者:myh0st

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Red Team 工具集之信息收集

    上图是一个 Red Team 攻击的生命周期,整个生命周期包括:信息收集、攻击尝试获得权限、持久性控制、权限提升、网络信息收集、横向移动、数据分析(在这个基础上...

    信安之路
  • 2018 年 ie 漏洞复现合集

    对 2018 年几个IE漏洞的复现与说明,之前复现的时候在仓库的文档中简单的说明了一下,以下是这几个漏洞的复现报告与一些基本的利用方法,这些漏洞或多或少都出现在...

    信安之路
  • 利用 RDPWRAP 做 RDP 劫持的威胁检测

    这个系列的文章翻译由信安之路红蓝对抗小组的所有成员共同完成,后续将陆续发布,敬请期待!

    信安之路
  • web应用渗透测试流程

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

    周俊辉
  • 云计算的成本低廉能更好地孕育创新

    当今,云计算如火如荼。众多IT巨头的态度也由抵制转向拥抱,这与当年开源运动的情形别无二致。在构建云计算平台的过程中,开源技术起到了不可替代的作用。从某种程度上说...

    静一
  • 疫情下的远程办公,充满了崩溃与机遇

    Automattic,一个传奇的公司, 员工人数超越 1000 人,分布在全球 45 个国家。但它居然没有办公室。你没看错,它真没办公室。如果你对这个公司不熟悉...

    Lenis
  • 大型IT企业内部数据分析的现状和发展趋势

    大数据时代,数据已经成为战略资源。掌握前沿科技的大型IT企业在数据的分析和利用上走在了时代的前列。笔者浸淫IT业十余年,近几年专注在数据分析平台研发和数据分析上...

    叶锦鲤
  • 下一波移动互联网浪潮由中国公司主宰!傅盛在东京GMIC的演讲PPT干货收藏

    猎豹移动CEO傅盛在日本东京举办的GMIC大会上做了题为“浪潮下的中国式逆袭”的演讲。傅盛表示,下一波移动互联网浪潮由中国公司主宰,这主要取决于三大核心优势:...

    罗超频道
  • 快速优化 Web 性能的10 个手段

    优化网站的性能需要花费大量的时间,并且如果要根据自己的需求进行优化则花费的时间可能更多。

    疯狂的技术宅
  • 开发中8种常被忽视的SQL错误用法

    分页查询是最常用的场景之一,但也通常也是最容易出问题的地方。比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time...

    用户5224393

扫码关注云+社区

领取腾讯云代金券