渗透测试工具的Web应用漏洞检测

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-05-08
如何进行Web渗透测试

什么是渗透测试?
渗透测试,是渗透测试工程师完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标网络、主机、应用的安全作深入的探测,发现系统最脆弱的环节。
如何进行Web渗透测试?
完整web渗透测试框架当需要测试的web应用数以千计,就有必要建立一套完整的安全测试框架,流程的最高目标是要保证交付给客户的安全测试服务质量。
1、立项:项目建立,时间安排,人力分配,目标制定,厂商接口人确定;
系统分析&威胁分析:针对具体的web应用,分析系统架构、使用的组件、对外提供的接口等,以STRIDE为威胁模型进行对应的安全威胁分析,输出安全威胁分析表,重点关注top3威胁;
制定测试用例:根据威胁分析的结果制定对应的测试用例,测试用例按照模板输出,具备可执行性;
测试执行&漏洞挖掘:测试用例执行&发散测试,挖掘对应的安全问题or漏洞;
问题修复&回归测试:指导客户应用开发方修复安全问题or漏洞,并进行回归测试,确保安全问题or漏洞得到修复,并且没有引入新的安全问题;
项目总结评审:项目过程总结,输出文档评审,相关文档归档。
2、Web应用的渗透测试流程
主要分为3个阶段,分别是:信息收集→漏洞发现→漏洞利用,下面仔细分析一下各个阶段流程:
一、信息收集
在信息收集阶段,我们需要尽量多的收集关于目标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 使应用程序报错,查看报错信息
2 扫描服务器的数据库端口(没做NAT且防火墙不过滤时有效)
所有链接页面:这个跟前面的获取目录结构类似,但是这个不只是获取网站的所有功能页面,有时候还可以获取到管理员备份的源码。
测试方法
1 使用字典枚举页面
2 使用爬虫爬取整个网站,或者使用google等搜索引擎获取
3 查看robots.txt是否泄漏
用到的框架:很多网站都利用开源的框架来快速开发网站,所以收集网站的框架信息也是非常关键的。
测试方法
指纹识别(网络上有很多开源的指纹识别工具)
二、漏洞发现
在这个阶段我们在做测试的时候要对症下药,不能盲目的去扫描,首先要确定目标应用是否使用的是公开的开源软件,开源框架等、然后在做深一度的漏洞扫描。
关于开源软件的漏洞发现
开源的软件:常见的开源软件有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应用程序的安全可以采用的方法有:Web渗透测试和代码审计。
Web渗透测试可以找专业的安全测试团队来做,如果是个人网站也可以自己用Web漏洞扫描工具自己大致扫描一下,比如OWASP ZAP和Vega,都是很优秀的Web漏洞扫描工具,可以检测大部分Web漏洞。
然后再用个Web应用防火墙,就能保证基本的安全了。

随着信息网络的发展,人们的信息安全意识日益提升,信息系统的安全防护措施也逐渐提高。通常在服务器的互联网边界处都会部署防火墙来隔离内外网络,仅仅将外部需要的服务器端口暴露出来。采用这种措施可以大大的提高信息系统安全等级,对于外部攻击者来说,就像关闭了所有无关的通路,仅仅留下一个必要入口。但是仍然有一类安全问题无法避免,就是web应用漏洞。  目前的大多数应用都是采用B/S模式,由于服务器需要向外界提供web应用,http服务是无法关闭的。web应用漏洞就是利用这个合法的通路,采用SQL注入、跨站脚本、表单破解等应用攻击方式来获取服务器的高级权限。在目前的网络环境下,威胁最大的漏洞形式就是web应用漏洞,通常是攻击者攻陷服务器的第一步。常见的漏洞包括SQL注入、跨站脚本攻击和编码漏洞等,表单破解主要是针对服务器用户的弱口令破解。从本质上来说,应用漏洞的形成原因是程序编写时没有对用户的输入字符进行严格的过滤,造成用户可以精心构造一个恶意字符串达到自己的目的。 溯雪是一款国产软件,主要的功能是进行表单破解。由于目前的应用多数采用B/S模式,登录窗口也都采用表单提交的方式,使得基于传统协议的暴力破解软件没有用武之地。针对此类应用,采用溯雪等基于表单的暴力破解软件可以很好的进行弱口令扫描。
溯雪的工作原理是抽取目标网站中的表单元素,搜寻错误登录时的错误标志,然后采用字典填充其值并不断提交尝试获得正确的连接。 Pangolin是一款SQL注入测试工具,能够自动化的进行注入漏洞的检测,从检测注入开始到最后控制目标系统都给出了测试步骤,是目前国内使用率最高的SQL注入测试软件。支持的数据库包括Access、DB2、Informix、Microsoft SQL Server 2000、Microsoft SQL Server 2005、Microsoft SQL Server 2008、Mysql、Oracle、PostgreSQL、Sqlite3、Sybase。



  • 如何对网站进行渗透测试和漏洞扫描
    答:事实上,每个渗透测试团队或多或少都会有自己的测试工具包,在漏洞扫描这一块针对具体应用的工具也比较个性化。3、漏洞利用有时候,通过服务/应用扫描后,我们可以跳过漏洞扫描部分,直接到漏洞利用。因为很多情况下我们根据目标服务/应用的版本...
  • 渗透测试工具的通用漏洞检测
    答:配合恰当的字典生成工具可以完成大部分常用应用软件的弱口令破解工作。X-Scan也提供漏洞检测脚本的加载方式,可以即时的更新扫描模块,同时也提供扫描结果报告功能。 Metasploit 是一款开源的安全漏洞检测工具,可以帮助安全和IT专业...
  • 渗透测试工具的介绍
    答:第三类:网站渗透测试工具 网站渗透测试是对Web应用程序和相应的设备配置进行渗透测试。在进行网站渗透测试时,安全工程序必须采用非破坏性的方法来发现目标系统中的潜在漏洞。常用的网络渗透测试工具有asp-auditor、darkmysql、...
  • 属于网络安全渗透测试工具
    答:Wireshark、Google Hacking、whatweb、Metasploit、AppScan等属于网络安全渗透测试工具。1、Wireshark:网络协议和数据包分析器,能实时消除安全漏洞。如果要用来分析基于Web的应用上发布到表单的信息和数据所固有的安全风险,那么它...
  • 渗透检测步骤
    答:不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,...
  • 网站安全渗透测试怎么做?
    答:漏洞利用:利用以上的方式拿到webshell,或者其他权限。权限提升:提权服务器,比如windows下mysql的udf提权。日志清理:结束渗透测试工作需要做的事情,抹除自己的痕迹。总结报告及修复方案:报告上包括:1、对本次网站渗透测试的...
  • 常见36种WEB渗透测试漏洞描述及解决方法-文件上传
    答:漏洞描述:文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严或webserver相关解析漏洞未修复而造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包...
  • 渗透测试工具有哪些?
    答:第三类:网站渗透测试工具 网站渗透测试是对Web应用程序和相应的设备配置进行渗透测试。在进行网站渗透测试时,安全工程序必须采用非破坏性的方法来发现目标系统中的潜在漏洞。常用的网络渗透测试工具有asp-auditor、darkmysql、...
  • 漏洞扫描工具有哪些
    答:Burp Suite免费版是开源的Web应用程序漏洞扫描器,该版本属于软件工具包,涵盖了对Web应用程序手动安全测试所需的所有东西。它可以使用拦截代理,针对浏览器和目标应用程序之间的流量进行检查与修改;还能利用可感知应用程序的Spider...
  • 有那种服务器漏洞扫描工具吗?
    答:BurpSuite:是一款信息安全从业人员必备的集成型的渗透测试工具,它采用自动测试和半自动测试的方式;Wikto:Wikto是一款基于C#编写的Web漏洞扫描工具;AcunetixWebVulnerabilityScanner:(简称AWVS)是一款知名的网络漏洞扫描工具,它...