渗透测试流程及常见问题

1,    用自己的语言描述渗透测试流程

第一步:明确自己的渗透目标(IP,域名,内外网)

第二步:通过主动扫描,开放搜索等进行信息搜集,获取与目标有关的信息。

第三步:通过工具扫描出目标的漏洞。

第四步:对漏洞进行验证,看能否被利用.

第五步:按需求整理资料,并形成报告。

1)明确目标

确定范围:测试目标的范围,ip,域名,内外网

确定规则:能渗透到什么程度,时间?能否修改上传?能否提权等

确定需求:web应用的漏洞(新上线程序)?业务逻辑漏洞(针对业务的)?人员权限管理漏洞(针对人员、权限)?

2)信息收集

方式:主动扫描、开放搜索等

开放搜索:利用搜索引擎获得后台、未授权页面、敏感url等

收集哪些信息?

*基础信息:IP,网段,域名,端口

*系统信息:操作系统版本

*应用信息:各端口的应用,例如web应用,邮件应用等

*版本信息:所有这些探测的东西的版本

*服务信息:目标服务器的一些信息,如支持的服务,支持开放的端口号等

*人员信息:域名注册人员信息,web应用中网站发帖人的id,管理员姓名等

*防护信息:试着看能否探测到防护设备

3)漏洞探测

利用上一步中列出的各种系统,应用等使用相应的漏洞

方法:

*漏扫,awvs,IBM ,appscan等

*结合漏洞去exploit-db等位置找利用

*在网上寻找验证poc

内容:

系统漏洞:系统没有即使打补丁

websever漏洞:websever配置问题

web应用漏洞:web应用开发问题

其他端口服务漏洞:各种21/8080(st2)/7001/22/3369

通信安全:明文传输,token在cookie中传送等。

4)漏洞验证

将上一步中发现的有可能可以成功利用的漏洞都验证一遍,结合实际情况,搭建模拟环境进行试验。成功后再应用于目标中

自动化验证:结合自动化扫描工具提供的结果

手工验证:根据公开资源进行验证

试验验证:自己搭建模拟环境进行验证

登录猜解:有时可以尝试猜解一下登录口的账号密码等信息

业务漏洞验证:如发现业务漏洞,要进行验证

5)形成报告

按需整理:按照之前第一步跟客户确定好的范围,需求来整理资料,并将资料形成报告

补充介绍:要对漏洞成因,验证过程和带来危害进行分析

修补建议:要对所有产生的问题提出合理高效的解决办法


2、静态 动态语言区别

动态语言:服务端和客户端代码不一致(如: asp,php,aspx,jsp)

静态语言:服务端和客户端代码一致(如html)

3、常见的脚本语言有哪些?

Asp  aspx   jsp  php   pl  py do  war   cqi

4、常见的数据库有哪些?

Oracle(甲骨文公司)           mysql(开源)    

 sqlserver(mssql微软公司)    postsql(开源)       db2 (ibm公司)


5、常见的数据库与脚本语言搭配

Asp+access   asp+mssql   php+mysql  aspx+mssql   aspx+oracle

   jsp+oracle   jsp+mssql 

6、系统、脚本语言、中间件如何组合

Windows2003/2008/2012+asp,aspx,php+IIS6.0、7.0+7.5

Windows/Linux+php+apache       

windows/linux+jsp +tomcat/jboss/weblogic/nginx

HTML在哪里都可以允许

7、写出以下状态码的含义(200、201、301、302、400、401、403、404、500)

状态码分为以下5类。

1xx - -提供信息。

2xx—请求被成功提交。

3xx—客户端被重定向到其他资源。

4xx----请求包含某种错误。

5xx—服务器执行请求时遇到错误。

200 OK:表示已成功提交请求,响应主体中包含请求结果。

201 greated :put请求的响应返回这个状态码,表示请求已成功提交。

301 moved permanently:本状态码将浏览器永久重定向到另一个在location消息头中指定的URL。以后客户端应使用新URL替换原始URL。

302 found:本状态码将浏览器暂时重定向到另一个在location消息头中指定的URL,客户端应在随后的请求中恢复使用原始URL。

400 bad requrst:本状态码表示客户端提供了一个无效的HTTP请求,当以某种无效的方式修改请求时(例如在URL中插入一个空格符)可能会遇到这个状态码。

401 unauthorized:服务器在许可请求前要求HTTP进行身份验证。www-authenticate消息头详细说明所支持的身份验证类型。

403 forbidden:本状态码指出不管是否通过身份验证,禁止任何人访问被请求的资源。

404 No found:表示所请求的资源并不存在。

500  internalserver error:表示服务器在执行请求时遇到错误。

8、我们平时常用的编码有哪些?

URL编码

Unicode编码

Html编码

Base64编码

十六进制编码

你可能感兴趣的:(渗透测试流程及常见问题)