如何进行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应用,会被攻击者通过命令拼接、绕过黑名单等方式,在服务端运行恶意的系统命令。渗透测试风险评级:高风险安全建议① 拒绝使用拼接语句的方式进行参数传递;② 尽量使用白名单的方式(首选方式);③ 过滤危险方法、特殊...
如何对网站进行渗透测试和漏洞扫描
在我接触了一些大型的安全公司进行的一些渗透测试过程来看,测试人员的水平是对不住开的那些价格的,而且从测试过程到结果报表上来看也是不负责的。我估计在三年以后,这种情况会有所改观,到时一方面安全人员的技术力量有很大程度的改观,另一方面各企业对渗透测试会有一个比较深刻的理解,也会将其做为一种IT审计的方式加入...
Web系统安全和渗透性测试基础目录
第2章详细讨论了Web系统的安全问题,包括保密性、完整性、可用性和可追究性的威胁及对策。涉及IPSEC、SST\/TLS、SET协议等安全技术,并分析了安全问题的来源和预防措施。第二部分:Web系统渗透性测试基础第3章介绍了渗透性测试,包括测试概述、方法划分,如计划和准备、评估阶段,以及报告和清除测试产物的...
渗透测试会用到哪些工具?
第二类:社会工程学渗透测试工具 社会工程学渗透测试是利用社会工程学进行渗透测试,通常利用人们行为中的弱点来达到渗透的目的。典型的社会工程学渗透测试工具有BeefXSS和HoneyPots,这些工具诱使用户访问特定的网站,获得用户的Cookie信息,达到渗透的目的。第三类:网站渗透测试工具 网站渗透测试是对Web应用程序...
一个完整的渗透测试流程,分为那几块,每一块有哪些内容
炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马。撰写渗透测试保告 在完成了渗透测试之后,就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击。
渗透工程师是做什么的?
应用程序进行安全性测试。\\x0d\\x0a3、业内最先进且深入的 SQL 注入和跨站脚本测试\\x0d\\x0a4、高级渗透测试工具,例如 HTTP Editor 和 HTTP Fuzzer\\x0d\\x0a5、可视化宏记录器帮助您轻松测试 web 表格和受密码保护的区域\\x0d\\x0a6、支持含有 CAPTHCA 的页面,单个开始指令和 Two Factor(双因素)验证机制\\...
渗透测试是什么 渗透测试有什么特点
渗透测试是什么?渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络...
网站安全渗透测试怎么做?
结束渗透测试工作需要做的事情,抹除自己的痕迹。总结报告及修复方案:报告上包括:1、对本次网站渗透测试的一个总概括,发现几个漏洞,有几个是高危的漏洞,几个中危漏洞,几个低危漏洞。2、对漏洞进行详细的讲解,比如是什么类型的漏洞,漏洞名称,漏洞危害,漏洞具体展现方式,修复漏洞的方法。
web前端和web渗透有什么区别?
Web渗透的目标是识别和修复安全漏洞,以保护应用程序免受潜在的攻击。因此,Web前端和Web渗透在目的、方法和角色方面存在明显的差异。前端开发者关注的是为用户提供良好的使用体验,而渗透测试员则专注于评估和增强应用程序的安全性。在实际工作中,前后端开发者通常会进行紧密的合作。前端开发者需要了解常见...
文俭曲莱: 渗透测试的两大阶段渗透测试不能测试出所有可能的安全问题,它只是一个特定环境下才合适的WEB应用安全测试技术.OWASP的渗透测试方法是基于墨盒方法的,测试人员在测试前不知道或只知道很有限的关于被测试应用的信息.渗透测...
广平县19651159506: 网站渗透测试,怎么进行??
文俭曲莱: 如果你想自己做,可以找一些网站检测的工具,比哪WVS,JSKY之类,对网站进行扫描.当然,如果你懂具体的手工渗透技术,那就再结合手工渗透吧.成都优创信安,专注于网络安全、网站检测、网站渗透、数据分析、安全加固.
广平县19651159506: 如何对网站进行渗透测试和漏洞扫描? - ?
文俭曲莱: 1、渗透测试 (penetration test)并没有一个标准的定义,国外一些安全组织达成共识的通用说法是:渗透测试是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法.这个过程包括对系统的任何弱点、技术缺陷或漏洞的...
广平县19651159506: 如何对一个只能用微信访问的网站进行渗透测试 - ?
文俭曲莱: 一、工具原料:1、android APP包2、安应用 二、APP和网站的渗透测试不太一样,我给你介绍一个android的渗透测试步骤吧:1、组件安全检测.对Activity安全、Broadcast Receiver安全、Service安全、Content Provider安全、Intent安全和...
广平县19651159506: 在对一个网站进行渗透测试时要用到哪些工具 - ?
文俭曲莱: 重要的是思路,工具不是最重要的.一些工具:FireBug,Autoproxy,nmap,sqlmap,metasploit,Wireshark,外加一些python小脚本提高效率.
广平县19651159506: 网站渗透测试有什么工具? - ?
文俭曲莱: 要做网站渗透测试,首先我们要明白以下几点:1、什么叫渗透测试?渗透测试最简单直接的解释就是:完全站在攻击者角度对目标系统进行的安全性测试过程.2、进行渗透测试的目的?了解当前系统的安全性、了解攻击者可能利用的途径....
广平县19651159506: 如何搭建一个提供web网络安全测试的环境 - ?
文俭曲莱: 搭建WEB渗透环境. 一般是asp+access+iis等但是利用ASP小旋风就可以搭建一个asp的环境,但是漏洞源码你需要自己寻找.PHP+MYSQL+阿帕奇,这种黄金三配套你需要拥有一个服务器环境,一般你下载一个XMPP就可以搭建一个阿帕奇+MYSQL的环境,配合这种PHP黄金三件套的环境漏洞平台有,DVWA.这款测试平台集成了 XSS,SQL,FUZZ,CSRF等常见得漏洞测试更多详细的漏洞平台参见
广平县19651159506: web渗透测试 学习什么 知乎 - ?
文俭曲莱: 通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki; 阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的; 看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);
广平县19651159506: web漏洞要怎么验证 - ?
文俭曲莱: 要根据网站的具体程序架构 如php+mysql 或asp+acc或aspx+sql2005 根据web的常见的漏洞如 sql注入 跨站脚本攻击 图片上传 逻辑漏洞测试 绕过验证测试等一系列的安全代码审计和渗透测试.有条件的话建议找专门做安全的安全公司来给你做安全渗透和安全评估国内也就Sinesafe和绿盟等安全公司比较专业.
广平县19651159506: 渗透测试的专业服务 - ?
文俭曲莱: 渗透测试专业服务可以提供对系统专业的主机层、网络层、应用层的白帽子渗透攻击测试,发现系统存在的漏洞,并提供测试报告和加固建议.