如何进行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等。
什么是 *** 渗透
*** 渗透是攻击者常用的一种攻击手段,也是一种综合的高级攻击技术,同时 *** 渗透也是安全工作者所研究的一个课题,在他们口中通常被称为"渗透测试(Penetration Test)"。
无论是 *** 渗透(Network Penetration)还是渗透测试(Penetration Test),其实际上所指的都是同一内容,也就是研究如何一步步攻击入侵某个大型 *** 主机服务器群组。
只不过从实施的角度上看,前者是攻击者的恶意行为,而后者则是安全工作者模拟入侵攻击测试,进而寻找更佳安全防护方案的正当手段。
扩展资料
*** 渗透攻击与普通攻击的不同:
*** 渗透攻击与普通 *** 攻击的不同在于,普通的 *** 攻击只是单一类型的攻击。
例如,在普通的 *** 攻击事件中,攻击者可能仅仅是利用目标 *** 的Web服务器漏洞,入侵网站更改网页,或者在网页上挂马。也就是说,这种攻击是随机的,而其目的也是单一而简单的。
*** 渗透攻击则与此不同,它是一种系统渐进型的综合攻击方式,其攻击目标是明确的,攻击目的往往不那么单一,危害性也非常严重。
例如,攻击者会有针对性地对某个目标 *** 进行攻击,以获取其内部的商业资料,进行 *** 破坏等。因此,攻击者实施攻击的步骤是非常系统的,假设其获取了目标 *** 中网站服务器的权限,则不会仅满足于控制此台服务器,而是会利用此台服务器,继续入侵目标 *** ,获取整个 *** 中所有主机的权限。
为了实现渗透攻击,攻击者采用的攻击方式绝不仅此于一种简单的Web脚本漏洞攻击。攻击者会综合运用远程溢出、木马攻击、密码破解、嗅探、ARP欺骗等多种攻击方式,逐步控制 *** 。
总体来说,与普通 *** 攻击相比, *** 渗透攻击具有几个特性:攻击目的的明确性,攻击步骤的逐步与渐进性,攻击手段的多样性和综合性。
《KaliLinux无线 *** 渗透测试详解》epub下载在线阅读全文,求百度网盘云资源
《Kali Linux无线 *** 渗透测试详解》(李亚伟)电子书网盘下载免费在线阅读
链接:
提取码: r87a
书名:Kali Linux无线 *** 渗透测试详解
作者:李亚伟
出版社:清华大学出版社
出版年份:2016-2-1
页数:236
内容简介:
本书是国内之一本无线 *** 安全渗透测试图书。本书基于Kali Linux操作系统,由浅入深,全面而系统地介绍了无线 *** 渗透技术。本书针对不同的加密方式的工作原理及存在的漏洞进行了详细介绍,并根据每种加密方式存在的漏洞介绍了实施渗透测试的 *** 。另外,本书最后还特意介绍了针对每种加密 *** 漏洞的应对措施。
本书共10章,分为3篇。第1篇为基础篇,涵盖的主要内容有搭建渗透测试环境和WiFi *** 的构成。第2篇为无线数据篇,涵盖的主要内容有监听WiFi *** 、捕获数据包、分析数据包和获取信息。第3篇为无线 *** 加密篇,涵盖的主要内容有WPS加密模式、WEP加密模式、WPA加密模式和WPA+RADIUS加密模式。
本书涉及面广,从基本环境搭建到数据包的捕获,再到数据包的分析及信息获取,最后对WiFi *** 中的各种加密模式进行了分析和渗透测试。本书不仅适合想全面学习WiFi *** 渗透测试技术的人员阅读,同样适合 *** 维护人员和各类信息安全从业人员阅读。
作者简介:
李亚伟 就职于大学霸网站,任技术研究员。熟悉Apache、Tomcat、Oracle、MySQL、集群、RAC、SAN和容灾等IT业界中流行的系统集成技术。长期从事Linux和 *** 安全最新技术的研究,以及Linux服务器维护工作。拥有多年的服务器维护经验。曾经参与编写并出版了《Wireshark数据包分析实战详解》一书。
0条大神的评论