精华内容
下载资源
问答
  • 作者简介内容简介前言第1篇 Python自动化测试基础第1章 自动化测试概述1.1 测试方式分类1.2 自动化测试的概念和优点1.3 为什么用Python进行自动化测试1.4 接口测试和UI测试的比较1.5 小结第2章 Python HTTP接口编程...

    作者简介

    内容简介

    前言

    第1篇 Python自动化测试基础

    第1章 自动化测试概述

    1.1 测试方式分类

    1.2 自动化测试的概念和优点

    1.3 为什么用Python进行自动化测试

    1.4 接口测试和UI测试的比较

    1.5 小结

    第2章 Python HTTP接口编程

    2.1 发起HTTP请求示例

    2.1.1 HTTP请求原理解析

    2.1.2 利用Python发起HTTP请求

    2.1.3 利用Python处理响应对象

    2.2 HTTP简介

    2.2.1 HTTP状态码

    2.2.2 利用Python处理业务码

    2.3 GET和POST请求

    2.3.1 HTTP请求方式

    2.3.2 利用Python发起GET请求

    2.3.3 利用Python发起POST请求

    2.3.4 利用Python完成自动登录示例

    2.4 小结

    第3章 Selenium基础知识

    3.1 Selenium概述

    3.2 Selenium环境搭建

    3.2.1 安装Selenium包

    3.2.2 安装不同浏览器的驱动包

    3.3 在Selenium中选择元素对象

    3.3.1 根据id和name选择元素对象

    3.3.2 根据link text选择元素对象

    3.3.3 根据XPath选择元素对象

    3.3.4 CSS选择器

    3.4 使用Selenium完成自动登录

    3.4.1 自动登录百度网盘

    3.4.2 自动登录QQ空间

    3.5 鼠标事件

    3.6 键盘事件

    3.7 对一组对象定位

    3.8 对层级对象定位

    3.9 iframe中的对象定位

    3.10 调试方法

    3.11 对话框处理

    3.12 跨浏览器的窗口处理

    3.13 分页处理

    3.14 控制浏览器的滚动条

    3.15 小结

    第4章 Python模拟数据测试

    4.1 模拟测试简介

    4.1.1 模拟测试的定义和使用场景

    4.1.2 安装Mock库

    4.1.3 Mock对象简介

    4.1.4 简单用例

    4.2 测试留言板功能

    4.2.1 测试新增功能

    4.2.2 对测试失败的情况进行处理

    4.3 Mock库的高级用法

    4.3.1 Patch简介

    4.3.2 Patch的简单用例

    4.3.3 利用Patch测试购物车类

    4.4 模拟登录

    4.4.1 登录的完整用例

    4.4.2 通过面向对象的方式实现登录

    4.5 小结

    第5章 Python爬虫测试接口

    5.1 爬虫测试简介

    5.1.1 爬虫测试的思路和流程

    5.1.2 urllib库的使用

    5.1.3 urllib 3简介

    5.1.4 BeautifulSoup的使用

    5.1.5 使用BeautifulSoup爬取BOSS直聘网站上的信息

    5.1.6 正则表达式简介

    5.1.7 封装一个强大的爬虫工具类

    5.2 Scrapy基础

    5.2.1 Scrapy简介

    5.2.2 Scrapy的基本用法

    5.2.3 Scrapy爬虫实践

    5.3 测试商品列表页面的完整用例

    5.4 多线程爬虫用例

    5.5 反爬虫安全策略

    5.5.1 tesserocr库简介

    5.5.2 图片滑块验证码

    5.5.3 IP限制

    5.6 小结

    第6章 性能测试

    6.1 性能测试简介

    6.2 Locust工具的使用

    6.2.1 环境搭建

    6.2.2 Locust快速入门

    6.2.3 Locust和其他工具集成

    6.3 常用的压力测试工具

    6.3.1 轻量级http_load工具的使用

    6.3.2 webbench工具的使用

    6.3.3 AB工具的使用

    6.3.4 利用Python操作AB工具

    6.4 利用多线程实现性能提升

    6.5 使用JMeter对Selenium自动化代码进行压力测试

    6.6 小结

    第7章 App自动化测试

    7.1 App自动化测试简介

    7.2 测试计划设计

    7.3 Appium自动化测试框架

    7.3.1 Appium工具简介

    7.3.2 环境搭建

    7.3.3 Android Studio的简单使用

    7.3.4 自动化测试手机计算器

    7.3.5 Appium的常用API

    7.4 小结

    第8章 使用pytest进行单元测试

    8.1 单元测试简介

    8.1.1 单元测试的重要性

    8.1.2 单元测试框架简介

    8.1.3 安装pytest

    8.1.4 pytest的简单用例

    8.2 pytest的基本用法

    8.2.1 断言

    8.2.2 异常处理

    8.2.3 执行测试和参数设置

    8.2.4 对测试结果进行分析和处理

    8.3 pytest进阶之conftest的使用

    8.4 其他单元测试框架

    8.5 小结

    第2篇 Python自动化测试实战

    第9章 基于RESTful API的自动化测试案例

    9.1 RESTful API简介

    9.2 接口分析

    9.3 编写配置

    9.4 数据准备

    9.5 新增文章接口测试代码用例

    9.6 修改文章接口测试代码用例

    9.7 删除文章接口测试代码用例

    9.8 查询文章接口测试代码用例

    9.9 API测试工具

    9.9.1 Tavern简介

    9.9.2 Tavern的基本用法

    9.9.3 使用Tavern测试文章的所有接口

    9.10 小结

    第10章 基于Selenium的Web自动化测试案例

    10.1 自研自动化测试框架

    10.2 使用Selenium自动化操作网盘

    10.2.1 基本操作封装

    10.2.2 发送通知邮件

    10.3 使用Lettuce进行测试

    10.3.1 TDD和BDD简介

    10.3.2 使用pytest-bdd进行测试

    10.3.3 Lettuce初体验

    10.3.4 编写Lettuce程序

    10.3.5 Aloe的使用

    10.4 Selenium跨浏览器测试实战

    10.4.1 Selenium Server的安装

    10.4.2 Selenium数据驱动测试

    10.4.3 poium测试库

    10.4.4 pyautoTest Web UI自动化项目

    10.5 小结

    展开全文
  • NOI Online 能力测试已于 2020年 3 月 7 日举行,测试分为入门组和提高组。测试需要选手读写输入输出文件,程序评测会在 NOI Linux 下完成。 本次 NOI Online 能力测试在 NOI 系列活动中是首次尝试,测试包括入门组...

    NOI Online 能力测试已于 2020 年 3 月 7 日举行,测试分为入门组和提高组。测试需要选手读写输入输出文件,程序评测会在 NOI Linux 下完成。

    本次 NOI Online 能力测试在 NOI 系列活动中是首次尝试,测试包括入门组和提高组。 NOI Online 能力测试旨在为给选手提供一个锻炼的机会,体验模拟 NOIP 的考试系统和环境,3 月 20 日前公示测试成绩前 25% 名单,测试成绩优异者,可优先参加 NOI 系列活动(CTS、APIO、NOIP、冬令营等)。

    NOI Online 能力测试入门组试题:

     

    展开全文
  • 1、弱网测试简介 1.1、背景 当前APP网络环境比较复杂,网络制式有2G、3G、4G、5G网络,还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响。另外,当前app使用场景多变,如...

    1、弱网测试简介

    1.1、背景

    当前APP网络环境比较复杂,网络制式有2G、3G、4G、5G网络,还有越来越多的公共Wi-Fi。不同的网络环境和网络制式的差异,都会对用户使用app造成一定影响。另外,当前app使用场景多变,如进地铁、上公交、进电梯等,使得弱网测试显得尤为重要。如果app没有对各种网络异常进行兼容处理,那么用户可能在日常生活中遇到APP闪退、ANR(Android Not Response)、数据丢失等问题。因此,app网络测试,特别是弱网测试尤为重要。本文梳理了网络测试要点(主要针对APP)和使用Charles做弱网测试的方法,让大家对网络测试有一个初步的认识。

    1.2、弱网测试的一些要点

    1.3、大多数弱网的标准

    • 低于2G速率的时候都属于弱网,3G也可划分为弱网;
    • 一般Wi-Fi不划入弱网测试范畴,但是弱信号的Wifi通常也会被纳入到弱网测试场景中;

    1.4、如何进行弱网测试

    • SIM卡的网络切换,步骤:手机-设置-移动网络设置-网络类型选择3G、4G卡都可以设置关闭3G/4G,只走2G网络;
    • 具体弱网场景测试,常见场景包括:地铁/巴士、电梯、楼梯间、停车场
    • 使用虚拟机模拟网络速度,如用树莓派搭建的弱网测试仪
    • 使用软件进行网络代理,模拟不同的网络带宽、延时率、丢包率

    1.5、使用网络代理进行弱网测试的原理

    一方面,抓包工具本来就是一个网络代理工具,它提供了客户端请求前和服务器响应前的回调接口,我们可以在这些接口里面自定义一些逻辑。代理工具的模拟限速正是采用了在客户端请求之前自定义限速的逻辑,此逻辑是通过延迟发送数据或接收的数据的时间来限制网络的下载速度和 上传速度,从而达到限速的效果。

    另一方面,使用代理捕获网络信号进行环境部署来分析APP的延迟(加载)时间、内容,提出HTTP优化建议,让开发者能够在APP上线前提前预知app在较差网络环境下的表现,以便提前发现问题,进行有针对性优化。

    2、使用Charles做弱网测试步骤

    2.1、打开Charles工具,选择【Proxy】—>【Throttle Settings...】,如下:

    2.2、完成2.1之后,会看到如下弹窗,根据以下步骤操作:

    2.3、填写完成需要模拟弱网场景的域名,接下来指定网速,如下所示:

    2.4、按照抓包的常规操作,抓取这个域名的数据包,并查看弱网之后的结果,结果如下:

    备注:弱网操作也可以用于模拟网络超时的场景,上述图片就是网络超时的结果。

    结论:使用Charles抓包工具模拟弱网场景在一般情况下是可行的,并可以达到预期结果的。

    参考文章:

    1、https://www.jianshu.com/p/655101ffa849

    2、https://blog.csdn.net/eleven521/article/details/19089671

    3、https://blog.csdn.net/qq_24373725/article/details/80060609

     

    展开全文
  • 一、渗透流程# 信息收集 漏洞验证 / 漏洞攻击 提权,权限维持 日志清理 ...一般先运行端口扫描和漏洞扫描获取可以利用的漏洞。...有授权的情况下直接使用 nmap、masscan、自己写 py 脚本等端口扫描工具直接获取开放的...

    一、渗透流程#

    信息收集

    漏洞验证 / 漏洞攻击

    提权,权限维持

    日志清理

    信息收集
    一般先运行端口扫描和漏洞扫描获取可以利用的漏洞。多利用搜索引擎

    端口扫描

    有授权的情况下直接使用 nmap、masscan、自己写 py 脚本等端口扫描工具直接获取开放的端口和获取服务端的 banner 信息。

    漏洞扫描

    使用北极熊扫描器、Nessus、awvs 等漏扫工具直接扫描目标,可以直接看到存活主机和主机的漏洞情况。

     

    二、漏洞攻击

    如果只是使用端口扫描,只是发现开放的端口,在获取 banner 信息后需要在漏洞库(seebug,ExploitDB )上查找对应 CVE,后面就是验证漏洞是否存在。安全检查一般是尽可能的发现所有漏洞,对漏洞的风险进行评估和修复。入侵的话只关注高危远程代码执行和敏感信息泄露漏洞等可以直接利用的漏洞。漏洞验证可以找对应的 CVE 编号的 POC、EXP,利用代码在 ExploitDB 、seebug 上查看或者在 github 上搜索是否有相关的漏洞验证或利用的工具。

    2.1 Web 应用

    可以直接寻找注入、上传、代码执行、文件包含、跨站脚本、等漏洞,来进行攻击。一般可以使用 AWVS 直接扫描常见漏洞。

    2.1.2 Web 中间件

    (1)Tomcat

    Tomcat 是 Apache Jakarta 软件组织的一个子项目,Tomcat 是一个 JSP/Servlet 容器,它是在 SUN 公司的 JSWDK(Java Server Web Development Kit)基础上发展起来的一个 JSP 和 Servlet 规范的标准实现,使用 Tomcat 可以体验 JSP 和 Servlet 的最新规范。

    端口号:8080

    攻击方法:

    默认口令、弱口令,tomcat5 默认有两个角色:tomcat 和 role1。其中账号 both、tomcat、role1 的默认密码都是 tomcat。弱口令一般存在 5 以下的版本中。

    在管理后台部署 war 后门文件

    远程代码执行漏洞

    (2) Jboss

    是一个运行 EJB 的 J2EE 应用服务器。它是开放源代码的项目,遵循最新的 J2EE 规范。从 JBoss 项目开始至今,它已经从一个 EJB 容器发展成为一个基于的 J2EE 的一个 Web 操作系统(operating system for web),它体现了 J2EE 规范中最新的技术。

    端口:8080

    攻击方法:

    弱口令

    管理后台部署 war 后门

    反序列化

    远程代码执行

    (3)WebLogic

    WebLogic 是美国 Oracle 公司出品的一个 Application Server,确切的说是一个基于 JAVAEE 架构的中间件,WebLogic 是用于开发、集成、部署和管理大型分布式 Web 应用、网络应用和数据库应用的 Java 应用服务器。将 Java 的动态功能和 Java Enterprise 标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

    端口:7001,7002

    攻击方法:

    弱口令,弱密码一般为 weblogic/Oracle@123 or weblogic

    管理后台部署 war 后门

    SSRF

    反序列化漏洞

    weblogic_uac

    (4) WebSphere

    IBM 公司一套典型的电子商务应用开发工具及运行环境。

    端口:默认端口:908*;第一个应用就是 9080,第二个就是 9081,控制台 9090

    攻击方法:

    控制台登录

    很多内网 websphere 的控制台存在弱口令 / 默认口令,可以使用 admin/admin 以及 webshpere/webshpere 这种口令登录。通过该口令登录控制台后,可以部署 war 包,从而获取到 WEBSHELL 。

    反序列化

    任意文件泄露

    (5) Glassfish

    GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。

    端口:4848

    可利用漏洞:

    任意文件读取

    目录遍历

    Server 管理控制台远程验证绕过

     

    2.1.3 Web 框架


    (1) Struts2

    Struts2 是一个优雅的,可扩展的框架,用于创建企业准备的 Java Web 应用程序。出现的漏洞也着实的多每爆一个各大漏洞平台上就会被刷屏。

    可利用漏洞:

    S2-046 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10

    S2-045 CVE-2017-5638 Struts 2.3.5-2.3.31,Struts 2.5-2.5.10

    S2-037 CVE-2016-4438 Struts 2.3.20-2.3.28.1

    S2-032 CVE-2016-3081 Struts 2.3.18-2.3.28

    S2-020 CVE-2014-0094 Struts 2.0.0-2.3.16

    S2-019 CVE-2013-4316 Struts 2.0.0-2.3.15.1

    S2-016 CVE-2013-2251 Struts 2.0.0-2.3.15

    S2-013 CVE-2013-1966 Struts 2.0.0-2.3.14

    S2-009 CVE-2011-3923 Struts 2.0.0-2.3.1.1

    S2-005 CVE-2010-1870 Struts 2.0.0-2.1.8.1

    (2)Spring 框架

    Spring Framework 是一个开源的 Java/Java EE 全功能栈(full-stack)的应用程序框架,以 Apache License 2.0 开源许可协议的形式发布,也有.NET 平台上的移植版本。Spring Framework 提供了一个简易的开发方式,这种开发方式,将避免那些可能致使底层代码变得繁杂混乱的大量的属性文件和帮助类。

    可利用漏洞:

    CVE-2010-1622

    CVE-2018-1274

    CVE-2018-1270

    CVE-2018-1273

    反序列化

    目录穿越

     

    2.1.4 Web 服务器

    IIS:Windows 的 WWW 服务器

    端口:80

    攻击方法:

    IIS,开启了 WebDAV,可以直接详服务器 PUT 文件

    短文件名枚举漏洞

    远程代码执行

    提权漏洞

    解析漏洞

    Apache

    端口:80

    攻击方法:

    解析漏洞

    目录遍历

    Nginx

    端口:80

    攻击方法:

    解析漏洞

    目录遍历

    CVE-2016-1247:需要获取主机操作权限,攻击者可通过软链接任意文件来替换日志文件,从而实现提权以获取服务器的 root 权限。

    lighttpd

    端口:80

    攻击方法:

    目录遍历


    2.2 常见运维系统

    一般分自动化部署和运维监控相关的的工具。漏洞可以通过搜索引擎搜索,github 搜索,ExploitDB 搜索,官网上的安全通告获取。内网的通用类应用比较常见的问题是弱口令,如果一个管理员可以登录几个系统,那在这几个系统的账号、密码也基本上是一样的。

    2.2.1 Gitlab

    GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的项目仓库,可通过 Web 界面进行访问公开的或者私人项目。

    可利用漏洞:

    任意文件读取漏洞

    意用户 token 泄露漏洞

    命令执行漏洞

    2.2.2 Jenkins

    Jenkins 是一种跨平台的持续集成和交付的应用软件,它便于不断稳定地交付新的软件版本,并提高你的工作效率。这款开发运维工具还让开发人员更容易把项目的变化整合起来,并使用大量的测试和部署技术。

    可利用漏洞:

    远程代码执行漏洞

    反序列化漏洞

    未授权访问漏洞

    登录入口

    2.2.3 Puppet

    Puppet Enterprise 专门管理基础设施即代码 (IAC),在这种类型的 IT 基础设施配置过程中,系统用代码而不是脚本流程来自动构建、管理和配置。由于它是代码,整个过程易于重复。Puppet 有助于更容易控制版本、自动化测试和持续交付,可以更快速地响应问题或错误。

    可利用漏洞,很少公开的 POC:

    反序列化

    远程命令执行

    2.2.4 Ansible

    Ansible 是一种配置和管理工具,面向客户端的软件部署和配置,支持 Unix、Linux 和 Windows。它使 用 JSON 和 YAML,而不是 IAC,根本不需要节点代理就可以安装。它可以通过 OpenStack 在内部系统上使用,也可以在亚马逊 EC2 上使用。

    可利用漏洞:

    远程代码执行

    2.2.5 Nagios

    Nagios 是一款开源的电脑系统和网络监视工具,能有效监控 Windows、Linux 和 Unix 的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

    可利用漏洞:

    代码执行

    SQLi

    2.2.6 Zabbix

    Zabbix 是一款强大的开源分布式监控系统,能够将 SNMP、JMX、Zabbix Agent 提供的数据通过 WEB GUI 的方式进行展示.

    可利用漏洞(具体参考 ExploitDB):

    远程代码执行

    SQLi

    shell 命令注入

    认证绕过

    默认账户与密码,默认口令 admin/zabbix,或者是 guest / 空

    2.2.7 Cacit

    Cacti 是一套基于 PHP,MySQL,SNMP 及 RRDTool 开发的网络流量监测图形分析工具。

    可利用漏洞:

    任意代码执行

    SQLi

    登录

    默认密码 admin/admin

    2.2.8 Splunk

    Splunk Enterprise 可以从任何来源监控和分析机器数据,以提供操作智能,从而优化您的 IT、安全和业务绩效。Splunk Enterprise 具有直观的分析功能、机器学习、打包应用程序和开放式 API,是一个灵活的平台,可从重点用例扩展到企业范围的分析主干。

    可利用漏洞:

    信息泄露

    命令注入

    服务端请求伪造

    参考

    ExploitDB 搜索

    2.3 常见 Web 应用

    还有常见邮件应用、CMS 应用,在搜索引擎上查找对应的漏洞,利用已知漏洞进行攻击。

    2.3.1 邮件系统

    一部分是使用腾讯企业邮箱、阿里企业邮箱的,很难有可利用的漏洞,另外一种是能独立部署的邮件系统,政企常用的邮箱应用:

    Coremail

    亿邮

    35 互联

    TurboMail

    Exchange

    IBM Lotus

    2.3.2 CMS 应用

    图片


    2.4 数据库 / 缓存 / 消息服务


    2.4.1 MySQL 数据库

    默认端口:3306

    攻击方法:

    身份认证漏洞:CVE-2012-2122

    拒绝服务攻击

    Phpmyadmin 万能密码绕过:用户名:‘localhost’@’@” 密码任意

    提权

    2.4.2 MSSQL 数据库

    默认端口:1433(Server 数据库服务)、1434(Monitor 数据库监控)

    攻击方法:

    弱口令 / 使用系统用户

    注入

    2.4.3 Oracle 数据库

    默认端口:1521(数据库端口)、1158(Oracle EMCTL 端口)、8080(Oracle XDB 数据库)、210(Oracle XDB FTP 服务)

    攻击方法:

    弱口令

    注入攻击

    漏洞攻击

    2.4.4 PostgreSQL 数据库

    PostgreSQL 是一种特性非常齐全的自由软件的对象–关系型数据库管理系统,可以说是目前世界上最先进,功能最强大的自由数据库管理系统。包括 kali 系统中 msf 也使用这个数据库;浅谈 postgresql 数据库攻击技术 大部分关于它的攻击依旧是 sql 注入,所以注入才是数据库不变的话题。

    默认端口:5432

    攻击方法:

    弱口令:postgres postgres

    缓冲区溢出:CVE-2014-2669

    2.4.5 MongoDB 数据库

    MongoDB,NoSQL 数据库;攻击方法与其他数据库类似》

    默认端口:27017

    攻击方法:

    弱口令

    未授权访问;github 有攻击代码;请点击

    2.4.6 Redis 数据库

    Redis 是一个开源的使用 c 语言写的,支持网络、可基于内存亦可持久化的日志型、key-value 数据库。关于这个数据库这两年还是很火的,暴露出来的问题也很多。特别是前段时间暴露的未授权访问。

    攻击方法:

    弱口令

    未授权访问 + 配合 ssh key 提权;

    2.4.7 SysBase 数据库

    默认端口:服务端口 5000;监听端口 4100;备份端口:4200

    攻击方法:

    弱口令

    命令注入:

    参考

    2.4.8 DB2 数据库

    默认端口:5000

    攻击方法:

    安全限制绕过:成功后可执行未授权操作(CVE-2015-1922)


    2.5 常见服务 / 协议


    2.5.1 FTP 服务

    FTP 服务:ftp 服务我分为两种情况,第一种是使用系统软件来配置,比如 IIS 中的 FTP 文件共享或 Linux 中的默认服务软件;第二种是通过第三方软件来配置,比如 Serv-U 还有一些网上写的简易 ftp 服务器等;默认端口:20(数据端口);21(控制端口);69(tftp 小型文件传输协议)

    攻击方式:

    ftp 的工具有很多,这里我推荐 owasp 的 Bruter 以及 msf 中 ftp 模块;

    匿名访问:用户名:anonymous 密码:为空或任意邮箱

    嗅探:ftp 使用明文传输技术(但是嗅探给予局域网并需要欺骗或监听网关)

    后门 vsftp

    远程溢出

    跳转攻击

    2.5.2 NFS 服务

    NFS(Network File System)即网络文件系统,是 FreeBSD 支持的文件系统中的一种,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。在 NFS 的应用中,本地 NFS 的客户端应用可以透明地读写位于远端 NFS 服务器上的文件,就像访问本地文件一样。如今 NFS 具备了防止被利用导出文件夹的功能,但遗留系统中的 NFS 服务配置不当,则仍可能遭到恶意攻击者的利用。

    攻击方法:

    未授权访问

    2.5.3 Samba 服务

    Samba 是 linux 和 unix 系统上实现 SMB/CIFS 协议的一个免费软件,由服务器和客户端程序构成。而 SMB 是局域网支持共享文件和打印机的一种通信协议,为局域网内不同计算机之间提供文件及打印机等资源的共享服务。

    攻击方法:

    远程代码执行

    弱口令

    未授权访问(public)

    2.5.4 SSH 服务

    SSH 是协议,通常使用 OpenSSH 软件实现协议应用。SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其它网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

    端口:22

    攻击方法:

    后门

    漏洞:28 退格漏洞、OpenSSL 漏洞

    2.5.5 Telnet 服务

    Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在終端使用者的电脑上使用 telnet 程序,用它连接到服务器。終端使用者可以在 telnet 程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。

    默认端口:21

    攻击方法:

    嗅探

    2.5.6 Windows 远程连接

    默认端口:3389

    攻击方法:

    Shift 粘滞键后门:5 次 shift 后门

    利用 ms12-020 攻击 3389 端口

    2.5.7 VNC 服务

    VNC(Virtual Network Computing),为一种使用 RFB 协议的显示屏画面分享及远程操作软件。此软件借由网络,可发送键盘与鼠标的动作及即时的显示屏画面。

    默认端口:5900 + 桌面 ID(5901;5902)

    攻击方式:

    弱口令

    认证口令绕过:

    拒绝服务攻击:(CVE-2015-5239)

    权限提升:(CVE-2013-6886)

    2.5.8 SMTP 协议

    smtp:邮件协议,在 linux 中默认开启这个服务,可以向对方发送钓鱼邮件!

    默认端口:25(smtp)、465(smtps)

    攻击方式:

    弱口令

    未授权访问

    2.5.9 POP3 协议

    默认端口:109(POP2)、110(POP3)、995(POP3S)

    攻击方式:

    弱口令

    未授权访问;

    2.5.10 DNS 服务

    默认端口:53

    攻击方式:

    区域传输漏洞

    2.5.11 IMAP 协议

    默认端口:143(imap)、993(imaps)

    攻击方式:

    弱口令

    配置不当

    2.5.12 SNMP 协议

    默认端口:161

    攻击方式:

    弱口令

    2.5.13 DHCP 服务

    默认端口:67&68、546(DHCP Failover 做双机热备的)

    攻击方式:

    DHCP 劫持


    2.6 云环境

    2.6.1 VMware

    使用 VMware vCloud 可将现有数据中心内的虚拟基础架构资源池化,并将其作为基于目录的服务交付。通过与云计算基础架构的最佳平台 VMware vSphere 配合使用,VMware vCloud Director 可为客户提供构建安全的私有云,从而改变 IT 部门交付和管理基础架构服务以及用户访问和使用这些服务的方式。一般组织中很多独立安装的 Esxi 形式的私有云,或独立部署的虚拟化系统。

    2.6.2 OpenStack

    OpenStack 是基础设施即服务(IaaS)软件,让任何人都可以自行创建和提供云计算服务。此外,OpenStack 也用作创建防火墙内的 “私有云”(Private Cloud),提供机构或企业内各部门共享资源。

    漏洞,有漏洞但是 POC 基本没有。检查时候可以参考安全的配置实践。

    权限绕过漏洞

    信息泄露

    代码执行漏洞

    2.6.3 Docker

    Docker 是一个开放源代码软件项目,让应用程序布署在软件容器下的工作可以自动化进行,借此在 Linux 操作系统上,提供一个额外的软件抽象层,以及操作系统层虚拟化的自动管理机制 [1]。Docker 利用 Linux 核心中的资源分脱机制,例如 cgroups,以及 Linux 核心名字空间(name space),来创建独立的软件容器(containers)。这可以在单一 Linux 实体下运作,避免引导一个虚拟机造成的额外负担。Linux 核心对名字空间的支持完全隔离了工作环境中应用程序的视野,包括进程树、网络、用户 ID 与挂载文件系统,而核心的 cgroup 提供资源隔离,包括 CPU、内存、block I/O 与网络。从 0.9 版本起,Dockers 在使用抽象虚拟是经由 libvirt 的 LXC 与 systemd – nspawn 提供界面的基础上,开始包括 libcontainer 函数库做为以自己的方式开始直接使用由 Linux 核心提供的虚拟化的设施。

    安全问题(很少有漏洞的 POC,安全检查也是基于最佳实践和官方安全建议进行):

    CVE-2015-3630 1.6.0 Docker Libcontainer 安全绕过漏洞

    CVE-2015-3627 1.6.1 Libcontainer 和 Docker Engine 权限许可和访问控制漏洞

    CVE-2015-3630 1.6.1 Docker Engine 安全绕过漏洞

    CVE-2014-9358 1.3.3 Docker 目录遍历漏洞

    CVE-2014-9357 1.3.2 Docker 权限许可和访问控制漏洞

    CVE-2014-6408 1.3.1 Docker 权限许可和访问控制漏洞

    CVE-2014-5277 1.3.0 Docker 和 docker-py 代码注入漏洞

    内核漏洞(Kernel exploits) 容器是基于内核的虚拟化,主机(host)和主机上的所有容器共享一套内核。如果某个容器的操作造成了内核崩溃,那么反过来整台机器上的容器都会受到影响。

    拒绝服务攻击(Denial-of-service attacks) 所有的容器都共享了内核资源,如果一个容器独占了某一个资源(内存、CPU、各种 ID),可能会造成其他容器因为资源匮乏无法工作(形成 DoS 攻击)。

    容器突破(Container breakouts) Linux 的 namespace 机制是容器的核心之一,它允许容器内部拥有一个 PID=1 的进程而在容器外部这个进程号又是不一样的(比如 1234)。现在问题在于如果一个 PID=1 的进程突破了 namespace 的限制,那么他将会在主机上获得 root 权限。

    有毒镜像(Poisoned images) 主要是考虑到镜像本身的安全性,没太多好说的。

    2.7 大数据

    2.7.1 Elsaticsearch

    Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在是使用最广的开源搜索引擎之一,Wikipedia、Stack Overflow、GitHub 等都基于 Elasticsearch 来构建他们的搜索引擎。

    默认端口:9200、9300

    攻击方法:

    未授权访问;

    远程命令执行;

    文件遍历;

    低版本 webshell 植入;

    2.7.2 hadoop

    Hadoop 是一个开源的框架,可编写和运行分布式应用处理大规模数据,是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。Hadoop=HDFS(文件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop 的数据来源可以是任何形式,在处理半结构化和非结构化数据上与关系型数据库相比有更好的性能,具有更灵活的处理能力,不管任何数据形式最终会转化为 key/value,key/value 是基本数据单元。用函数式变成 Mapreduce 代替 SQL,SQL 是查询语句,而 Mapreduce 则是使用脚本和代码,而对于适用于关系型数据库,习惯 SQL 的 Hadoop 有开源工具 hive 代替。Hadoop 就是一个分布式计算的解决方案。

    2.7.3 Hive

    Hive 是 Hadoop 家族中一款数据仓库产品,Hive 最大的特点就是提供了类 SQL 的语法,封装了底层的 MapReduce 过程,让有 SQL 基础的业务人员,也可以直接利用 Hadoop 进行大数据的操作。

    2.7.4 Sqoop

    Apache Sqoop(SQL-to-Hadoop) 项目旨在协助 RDBMS 与 Hadoop 之间进行高效的大数据交流。用户可以在 Sqoop 的帮助下,轻松地把关系型数据库的数据导入到 Hadoop 与其相关的系统 (如 HBase 和 Hive) 中;同时也可以把数据从 Hadoop 系统里抽取并导出到关系型数据库里。除了这些主要的功能外,Sqoop 也提供了一些诸如查看数据库表等实用的小工具。

    2.7.5 HBase

    HBase 建立在 HDFS 之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。它介于 NoSQL 和 RDBMS 之间,仅能通过行键 (row key) 和行键序列来检索数据,仅支持单行事务 (可通过 Hive 支持来实现多表联合等复杂操作)。主要用来存储非结构化和半结构化的松散数据。与 Hadoop 一样,HBase 目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

    2.7.6 Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用的并行计算框架,Spark 基于 map reduce 算法实现的分布式计算,拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出和结果可以保存在内存中,从而不再需要读写 HDFS。参考:

    三、提权权限维持


    3.1 提权

    3.2 建立后门 / 端口转发

    端口转发及代理类工具

    LCX:windows 下面的端口转发软件。

    sockscap:主要针对 windows 平台的端口转发和代理转发。

    proxifier:跨平台的端口转发和代理工具,适用 windows,linux, Macos 平台,代理转发利器

    Rsscoks:*nix 平台下的端口转发和代理工具,配合 proxychains 好用 到不行。

    Proxychains:*nix 平台下老牌的 socks 代理工具,一般的系统都会自 带,谁用谁知道。

    ssh proxy:通过 ssh 做端口代理和转发,一般*nix 系统都自带。

    netcat:socat,hping,在很多情况下可以做端口转发和数据代理转 发。

    metasploit:metasploit 的后渗透模块中有不少代理模块和端口转发 模块。

    在中转服务器上下载端口转发工具(加密压缩):

    能连接互联网下载

    通过 mstsc 的磁盘加载

    通过入口服务器中转

    通过远程控制软件上传

    3.3 传输文件

    3.3.1 文件打包

    Rar 文件打包,压缩 d:\data\ 目录下所有 2013-01-01 后修改的 doc 文件,100M / 包密码为 Pass,-x 为排除选项

    rar.exe a–r –v100m new.rar –ta20130101000000 –hpPass –n.doc –x.exe d:\data

    7z 加密,压缩 d:\data 下所有文件,密码为 Pass,分卷 100M / 包

    7z.exe a c:\xx.7z -pPass -mhe d:\data -v100m

    Linux 用 tar 打包文件是可以加密码,要跟 openssl 结合使用。

    tar -zcvf - pma|openssl des3 -salt -k password | dd of=pma.des3

    使用 tar 对加密文件解压:

    dd if=pma.des3 |openssl des3 -d -k password|tar zxf -

    3.3.2 文件传输 几个思路

    使用端口转发直接传送数据;

    搭建 FTP、HTTP 协议;

    上传到云端再下载;

    3.4 制作后门 / 木马程序

    一般用 Matisploit 的 msfvenom

    SET 也可以生成后门程序,另外也可以关注一下最新的 Office、PDF 的漏洞

    四、日志清理

    在做日志清理前需要了解以下的内容:

    攻击和入侵很难完全删除痕迹,没有日志记录本身就是一种入侵特征;

    删除或清理入侵系统的本地日志不代表删除了痕迹,在网络设备、安全设备、集中化日志系统上仍然留存记录;

    留存的后门本身会有攻击者的信息;

    使用的代理或跳板可能会被反向入侵;

    在操作前检查是否有管理员登录;

    删除上传的工具,使用磁盘覆写的功能删除;

    Windows 日志类型

    web 日志:IIS、Apache 以及其它 web 日志

    操作日志:3389 登录列表、最近访问文件、IE 等浏览 器访问日志、文件访问日志

    登陆日志:系统应用日志 - 安全日志等

    攻击前和状态还原,尽量保持一致

    Linux 操作日志

    Linux 历史操作

    unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null;

    SSHD 登陆记录 删除~/.ssh/known_hosts 中记录

    修改文件时间戳 touch –r 原文件要修改文件

    删除临时使用文件,尤其是 tmp 目录

    logtamper

    五、工具和其他

    渗透测试工具

    1. 内网使用工具渗透的一些原则

    使用适合自己的工具,工具没必要收集太多,够用就行;

    能根据实际情况编写适用的工具;

    不能确保安全的工具均要在虚拟机中运行(很 多捆绑病毒木马);

    做安全检查的话,尽量使用 GitHub 上开源的工具。

    工具介绍 个人习惯使用 kali 自带工具,特定 POC 先从 Github 上搜索。

    渗透注意事项

    检查内网监控防范系统

    谨慎使用 ARP 软件和大面积扫描软件

    使用目标网络中无空闲机器,作为打包对象

    使用内网大流量机器作为传输对象,如 wsus 服务 器、视频会议系统

    使用临时机器打包、数据传输,不要使用已控机器,可利用 wmi 脚本或 wmic 远程操作 渗透注意事项

    禁止使用 psexec.exe

    打包时避开用户工作时间

    控制卷包大小 < 100M

    选择用户常用压缩软件

    错峰下载数据

    控制传输流量

    清除所有操作日志

    登录主机前先看看管理员是否在

    渗透测试服务需要很多的实战经验来保障网站的安全稳定运行防止被攻击被篡改等危险行为避免给客户带来更多的损失,把安全风险降到最低,如果对此有渗透需求可以联系专业的网站安全公司来进行全面的渗透服务检测。。

    二、渗透工具

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

     

    六、网站渗透思维导图

    wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

     7、学习书籍资料

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

    7.漏洞预警公开POC集合

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    CVE、CMS、中间件漏洞检测利用合集

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

    8.技术文档

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     

    干货|渗透学习资料大集合(书籍、工具、技术文档、视频教程)

     重点:

    需要以上全部工具资料的朋友可以加下QQ君羊:581499282 暗号:csdn 联系管理大大即可免费获取全部资料!!!

     总结:

    就一句老话 师傅领进门 修行看个人

    展开全文
  • 其实入门很简单,对着下面的技能树,自学20天足矣
  • 可评估用例数量(如n个功能,m个输入参数,至少用例数为n(m+1)) 3)提出问题:按组织架构图测试,是否测试全面 解决方案:编写测试范围列表(需求编号、功能名称、测试类型、path、优先级)保证测试不遗漏 3....
  • 软件测试入门

    千次阅读 2021-04-24 20:59:03
    Alpha和Beta测试 八, 软件测试方法 九, 设计测试用例 入门 一,测试理论 测试方法:比如 黑盒测试、白盒测试、自动化测试 测试类型:功能测试、性能测试、兼容性测试、压力测试测试流程: 1.需求分析 2.编写...
  • unittest又名PyUnit, Python单元测试框架(The Python unit testing framework),简称为PyUnit。自从 Python 2.1 版本后,PyUnit成为 Python标准库的一部分。 为什么需要使用unittest单元测试框架? 当我们写的...
  • 性能测试入门到高级进阶之路会写成一个系列的专栏
  • 一、性能测试入门知识 1、先抛出个问题:需求文档中,有一个性能测试需求,你怎么入手? (1)怀疑需求,通常提需求的人是产品经理,假设他不懂性能测试,那么这个需求很可能就是拍脑袋; (2)确认需求,通常...
  • 软件测试基础——非功能测试入门

    千次阅读 2021-09-22 15:32:21
    一、 界面测试 1、窗体界面测 2、控件界面测试 3、菜单界面测试 4、特殊属性的界面测试 二、 易用性测试 易用性测试要点  业务符合性  功能定制性  业务模块的集成度  数据共享能力  约束性  交互性 1、...
  • 软件测试入门的要点和做软件测试目的现在很多人都愿意寻找做测试,尤其是适合于女生,因为测试入门不难,学起来容易。而且目前市场需求很好,工资较高,是很多女生毕业后的首选工作。相信不少学计算机专业的老师,也...
  • Vue 的单元测试入门三、UniApp的View组件测试一、UniApp自动化测试快速开始二、上手1. 创建测试项目2. package.json 的 script节点新增节点三、运行测试四、测试用例重点1. 测试用例格式2. `beforeAll`3. 获取 page ...
  • 大家好,我是一菲,今天和大家聊一下你必须要牢记的那些软件测试新手入门的小知识点,希望能给大家带来一些帮助。 一、软件测试(软件测试存在的意义) 1、发现程序中的错误而执行程序的过程 2、检验产品是否符合...
  • 读书一直以来就是获取知识... 下面给大家推荐一些软件测试需要学习的经典书籍,不管是作为入门学习还是进阶指导,都值得大家一读,当然罗列的书籍,仅是个人参考建议,大家可斟酌选取。 测试理论及思维  《计...
  • monkey测试入门.ppt

    2020-12-22 03:47:14
    monkey测试入门monkey测试入门Monkey测试入门 * 一、认识adb ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备。 adb的全称为(Android Debug Bridge就是调试桥的作用。 ADB...
  • 介绍安全测试的定义,还有两个国际应用安全组织。我们可以以两个国际应用安全组织发布的安全漏洞为学习入线,展开安全测试学习。
  • Jmeter性能测试入门&主要指标

    千次阅读 2021-02-11 19:09:01
    目录整体内容本篇内容定位什么是(软件)性能测试广义(软件)性能测试性能测试的前提性能测试的基本原则性能测试的必备条件性能测试的主要指标性能测试工具 整体内容 Jmeter性能测试-性能测试基础 Jmeter性能测试-...
  • 因为功能测试偏理论,入门简单。 目录: 什么是软件测试测试学习线路图和成长途径 需要扩充什么知识? 需要掌握什么工具? 一、什么是软件测试 就是通过需求分析和测试用例用手工或者自动化两方面来看软件的预期...
  • 这是一篇有关用户注册功能界面的测试,这篇blog是在参考了部分其它blog和学习视频,在此基础上有了自己的理解并作出修改和整理 当然啦!这篇blog并不是完美哒~~还希望各位大佬给我指出问题、提出修改建议鸭 需求...
  • 尝试自动化测试或初级爬虫(登录模块)以及滑块验证可参考本篇文章。 使用网站:chrome(39版) 遇到的问题 滑块验证:账号密码输入后会让进行滑块验证,即使拖动成功也会让刷新再试一次,即使再拖动仍旧如此,问题...
  • 软件测试入门基础

    千次阅读 2021-09-06 08:48:13
    一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范、实时测试,对测试记录进行分析,并根据回归测试情况撰写报告。测试是为了证明程序有错,但不能保证程序没有...
  • 目录搭建abd环境安装jdk并配置环境变量安装 adb 并配置环境常用...卸载app10.monkey测试11.logcat 搭建abd环境 adb 环境搭建主要分为2部分,一是 jdk 环境,二是 Android SDK 环境 安装jdk并配置环境变量 1.从官网下载
  • 软件测试基础概念篇,科普软件测试基础知识,适用于入门 /01/学习方法 关掉抖音,放下手机 专注力 制定小而可实现的目标(把控量很关键) 1000小时理论 劳逸结合 /02/学习目标: 脑子里对软件测试知识有一个...
  • idea+Maven项目单元测试入门 单元测试需要用到junit框架,框架的详细用法可参考官网: https://junit.org/ 本文仅仅是入门指导。 第一步:创建一个maven项目 File->New->Project… 选择maven类型 我这里创建...
  • 应部分热情读者要求,今天泰斯特跟大家一起了解 python 接口测试库- Requests 的基本用法并进行实践,希望能够帮助大家快速入门接口测试。 正文 什么是 Requests ? 简单来说,Requests 就是封装了用来发起 ...
  • Loadrunner性能测试入门流程(一)

    千次阅读 2021-09-06 14:51:46
    大家好,欢迎大家步入loadrunner的课堂,在学习Loadrunner的过程中可能会遇到很多问题和报错,不要灰心,多去找找解决方法,经过解决才能真正学习并且领悟很多知识,话不多说,开启我们loadrunner的入门课程 1.Loadrunner...
  • 在这个几乎人人都持有数码产品的时代,不少计算机专业毕业出来的学生在求职时都会考虑硬件测试工程师这个职位的。那么,不妨随乔布简历小编一起来看看与硬件测试工程师相关的知识吧!想当硬件测试工程师,怎能不知道...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 455,794
精华内容 182,317
关键字:

测试入门