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编码
十六进制编码