自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(102)
  • 收藏
  • 关注

原创 SQL自动化注入工具——sqlmap

自动化工具除了sqlmap外,还有Havij、Pangolin,这里我们主要讲解sqlmap的使用。1. sqlmap 简介sqlmap是一个开源渗透测试工具,它可以自动检测和利用SQL注入漏洞并接管数据库服务器的过程。它具有强大的检测引擎,针对最终渗透测试仪的众多细分功能以及从数据库指纹识别,从数据库获取数据到访问基础文件系统以及通过外出在操作系统上执行命令的广泛开关。2. 特征与功能特征:全面支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Micr

2021-01-18 22:57:22 2193

原创 XSS跨站脚本攻击

1. XSS简介跨站脚本(cross site script)为了避免与样式CSS混淆,所以简称为XSS。XSS是一种经常出现在WEB应用中的计算机安全漏洞,也是web中最主流的攻击方式。XSS是指恶意攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而添加一些代码,嵌入到web页面中去,使别的用户访问都会执行相应的嵌入代码。从而盗取用户资源、利用用户身份进行某种动作或者对访问者进行病毒侵害的一种攻击方式。XSS攻击的危害包括:(1)盗取各类用户账号,如机器登陆账号、用户网银账号、

2021-01-18 22:56:53 388

原创 SQL注入原理和手动注入

在owasp年度top10安全问题中,注入高居榜首SQL注入攻击指的是通过构建特殊的输入作为参数传入web应用程序,而这些输入大都是SQL语法里面的一些组合,通过执行SQL语句而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据入侵系统。(1)对于web应用程序而言,用户核心数据存储在数据库中,例如MySQL,SQL,Oracle;(2)通过SQL注入攻击,可以获取,修改,删除数据库信息,并且通过提权来控制web服务器等其他操作。(3)SQL注入即攻击者通过构造特殊的S.

2020-12-31 14:10:45 713

原创 python——文件操作

利用python实现文件的操作一般需要经历的过程:新建文件——>打开文件——>写入内容——>关闭文件1. 利用open函数打开文件在python中,利用open()函数,打开已经存在的文件,或者创建一个新文件。书写格式为:open(文件名,访问模式,编码方式),其中文件名可以是文件所在的绝对路径,或者相对路径。例如:f=open('aaa','w',encoding='utf-8') ##这里文件名是相对路径,当aaa文件不存在时,直接在当前项目下创建一个新文件##访问模式

2020-12-25 18:40:53 1205

原创 文件包含漏洞

文件包含:程序开发人员通常会把可重复使用的函数写到单个文件,在使用某些函数时,直接调用此文件,这种调用过程叫做文件包含。文件包含漏洞:开发人员为了让代码的书写变得更加灵活,通常把被包含的文件设置为变量,用来动态调用,但如果用户对这个变量可控而且服务器端又没有对动态调用的文件进行足够的监测,或者校验被绕过就造成了文件包含漏洞。PHP中常见的文件包含函数:(1)include() :使用该函数包含文件,只有当代码执行到include()时,文件才会被包含进来,如果被包含的代码出错,系统会给一个警告,然后继

2020-12-24 21:33:32 309

原创 文件上传漏洞

实验环境:OWASP Broken web Apps VM v1.2 靶机kali-linux-2020.4-vmware-amd64 攻击机caidao-2014.12.13 网站管理软件实验原理:(1)文件上传(File Upload)是大部分web应用都具备的功能,例如用户上传附件、修改头像、分享图片/视频等。(2)正常的文件一般是文档、图片、视频等,Web应用收集之后放入后台存储,需要的时候再调用出来返回。(3)如果恶意文件如php、ASP等执行文件绕过web应用,并顺利执行,则相当于

2020-12-22 11:57:27 318

原创 owasp靶机和kali攻击机的安装

【实验环境】:目标靶机:OWASP测试渗透机/攻击机:kali-linuxOWASP的安装:地址:https://sourceforge.net/projects/owaspbwa/files/1.2/OWASP_Broken_Web_Apps_VM_1.2.zip/download

2020-12-19 20:04:29 3514 8

原创 Web应用程序——建立项目

1.1建立虚拟环境1.2激活虚拟环境1.3安装Django1.4在Django中创建项目1.5创建数据库1.6查看项目

2020-11-20 15:37:42 243 1

原创 redis数据结构介绍——5种基本数据类型

redis是一种高级的key:value存储系统,其中value支持5种数据类型:String (字符串)List(列表)Set(集合)Hash(哈希)Zset(有序集合)关于key,有几点注意:(1)key不要太长,尽量不要超过1024字节,这不仅消耗内存,而且会降低查找的效率。(2)key也不要太短,太短的话,key的可读性会降低。(3)在一个项目中,key最好使用统一的命名模式:user:1000:passwd1.string类型string是一种非常基础的数据类型,也是任何

2020-11-15 16:36:51 343 1

原创 利用python的paramiko模块实现ssh远程命令执行+文件下载与上传

(1)paramiko是一个做远程控制的模块,用于ssh协议的实现。(2)paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接。(3)paramiko可用于远程执行命令、文件下载及上传。1.首先在pycharm中添加paramiko插件2.ssh远程执行脚本利用paramiko实现在远程主机上执行简单的hostname命令。3.批量实现ssh远程执行脚本import paramikoimport sysdef pl_ssh(

2020-11-01 22:28:50 1151

原创 企业—docker的卷插件

1.convoy卷插件的介绍前面我们已经讲过docker卷(volume)了,这里再讲docker的卷插件会不会有点重复。其实是有必要的,因为docker卷存在一点局限,就是卷只能存放于宿主机上,我们可以创建卷,但是仅局限于宿主机,docker本身也知道这一点,所以docker提供了卷插件的api,自己却不实现,实现docker卷插件的有flocker、convoy这俩个插件。这里我们讲述convoy插件,其运行方式有三种devicemapper、NFS、EBS。devicemapper是设备的映射,NF

2020-10-15 14:26:31 96

原创 leetcode——计算逆波兰式(后缀表达式)的值

题干:运算符仅包含"+","-","*“和”/",被操作数可能是整数或其他表达式例如:["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6解:class Solution: def evalRPN(self , tokens ): # write code here stack = []

2020-08-31 00:06:23 184

原创 leetcode——求给定二叉树的最小深度

题干:求给定二叉树的最小深度。最小深度是指树的根结点到最近叶子结点的最短路径上结点的数量。class Solution: def run(self , root ): # write code here if root is None: return 0 if root.left is not None and root.right is not None: return min(self.run(r

2020-08-30 22:14:14 96

原创 zabbix监控——添加监控模板、自定义监控项、自定义模板

前面我们讲解了怎么样添加删除监控主机,这里我们来讲解一下如何配置监控。【注】:这里我的server4主机相当于上篇文章中的server1;server5相当于上一篇的server2。添加监控模板:上面除了使用模板添加监控项外,我们还可以自定义添加监控项。我们在server6主机上安装nginxtar zxf nginx-1.18.0.tar.gz ##解压nginx的源码包cd nginx-1.18.0 ##进入nginx的安装目录vim auto/cc/gcc ##去关闭de

2020-07-31 01:01:48 1825

原创 企业—zabbix监控平台的搭建,以及几种添加监控主机的方法

1.为什么要使用zabbix监控?对运维人员来说,监控是非常重要的,因为如果想要保证公司的线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监控他们,我们则需要依靠一些外部的工具,而zabbix就是被广泛使用的,可以实现集中监控管理的应用程序。我们监控的初衷就是当某些指标不符合我们的需求时,我们能够在第一时间发现异常,所以,监控工具需要定期的对被监控主机进行检查、信息收集等

2020-07-30 22:20:10 577

原创 TCP连接的建立为什么需要三次握手?

https://www.bilibili.com/video/BV1aJ41157kL/

2020-07-20 17:47:29 140

原创 kubernetes调度

1.简介(1)调度器通过 kubernetes 的 watch 机制来发现集群中新创建且尚未被调度到 Node 上的 Pod。调度器会将发现的每一个未调度的 Pod 调度到一个合适的 Node 上来运行。(2)kube-scheduler 是 Kubernetes 集群的默认调度器,并且是集群控制面的一部分。 如果你真的希望或者有这方面的需求,kube-scheduler 在设计上是允许你自己写一 个调度组件并替换原有的 kube-scheduler。(3)在做调度决定时需要考虑的因素包括:单独和整

2020-07-15 16:14:53 247

原创 kubernetes存储—动态pv、StatefulSet控制器

pv有俩种提供方式,静态和动态。前面我们讲述了静态方式,静态pv:由集群管理员创建多个pv,它们携带着真实存储信息。我们能看出静态方式是有缺陷的,当多个用户,有多种不同的需求,我们都要手动的为他配置存储。这样是非常繁琐的。所以我们需要用动态的。动态pv: 当管理员创建的静态PV都不匹配用户的PVC时,集群可能会尝试专门地供给 volume给PVC。这种供给基于StorageClass。(1)StorageClass提供了一种描述存储类(class)的方法,不同的class可能会映射到不同的服务质量等级和

2020-07-15 12:49:00 915

原创 kubernetes存储— Volumes的简介、emptyDir卷、hostPath卷、NFS卷、PV持久卷、静态pv的创建

1.Volumes配置管理简介:(1)容器中的文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些 问题。首先,当容器崩溃时,kubelet 将重新启动容器,容器中的文件将会丢失, 因为容器会以干净的状态重建。其次,当在一个Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。 Kubernetes 抽象出 Volume 对象来解决这两 个问题。(2)Kubernetes 卷具有明确的生命周期,与包裹它的 Pod 相同。 因此,卷比 Pod 中 运行的任何容器的存活期都长,在容器重新

2020-07-09 10:59:58 670

原创 kubernetes存储—Configmap配置管理介绍、创建、如何使用configmap、configmap热更新、Secret配置管理的简介、类型、如何使用secret

1.configmap配置管理简介:<1> Configmap用于保存配置数据,以键值对形式存储。<2> configMap 资源提供了向 Pod 注入配置数据的方法。<3> 旨在让镜像和配置文件解耦,以便实现镜像的可移植性和可复用性。<4> 典型的使用场景:(1)填充环境变量的值 (2)设置容器内的命令行参数 (3)填充卷的配置文件configmap的创建:创建ConfigMap的方式有4种:<1> 使用字面值创建&lt

2020-07-08 01:19:01 613

原创 kubernetes(k8s)—calico网络插件、Ingress服务

1.calico网络插件在做三层解决方案时,calico是行业界的大哥,flannel只负责网络通信,而不提供网络策略,而calico即支持网络通信,也支持网络策略。calico里有一些镜像,为了方便节点下载,我们先提前下载这些镜像,并上传到私有仓库中。vim calico.yaml ##编辑calico文件这种方式和flannel的host-gw是类似的。前面我们将ipip给关闭了,这里我们将其打开来测试一下。vim calico.yaml

2020-07-06 16:29:41 1292

原创 kubernetes(k8s)—service的简介、ipvs模式、DNS插件、从外部访问service的几种方法、Flannel vxlan通信原理、flannel的backend

1.service的简介<1> Service可以看作是一组提供相同服务的Pod对外的访问接口。借助Service,应 用可以方便地实现服务发现和负载均衡。<2> service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)<3> service的类型:ClusterIP:默认值,k8s系统给service自动分配的虚拟IP,只能在集群内部访问。 NodePort:将Service通过指定的Node上的端口暴露给外部,访问任意一个 No

2020-07-03 22:15:29 738

原创 kubernetes(k8s)—控制器

1.控制器的类型Pod的分类自主式Pod: Pod退出后不会被创建控制器管理的Pod: 在控制器的生命周期里,始终要维持Pod的副本数目。控制器的类型<1> Replication Controller和ReplicaSetReplicaSet 是下一代的 Replication Controller,官方推荐使用ReplicaSet。ReplicaSet 和 Replication Controller 的唯一区别是选择器的支持,ReplicaSet 支持 新的基于集合的选择器需

2020-07-02 11:00:44 378

原创 kubernetes(k8s)—Pod生命周期介绍,init容器,探针

1.简介Pod可以包含多个容器,应用运行在这些容器里面,同时Pod也可以有一个或者多个先于应用容器启动的init容器。只有当init容器运行成功后才会运行应用容器。应用容器有开始与结束,在这个过程中就绪探针与存活探针会相继参与工作。下面我将详细讲解这些模块。2.init容器init容器与普通容器非常像,除了以下俩点:<1> 它们总是运行到完成。<2> Init 容器不支持 Readiness,因为它们必须在 Pod 就绪之前运行完成。<3> 每个 Init

2020-06-29 22:05:15 405

原创 Kubernete(k8s)—资源清单

资源清单清单书写格式:vim pod.yml ##创建一个yml文件apiVersion: group/version ##指明api资源属于那个群组和版本,同一个组可以有多个版本kind: ##标记创建的资源类型,k8s主要支持以下资源类别 Pod,ReplicaSet,Deployment,Statefulset,DaemonSet,Job,Cronjob ##这些资源中选一个。metadata: ##元数据 name: ##对象名称 namespace: ##

2020-06-26 11:53:26 303

原创 Kubernetes(k8s)—Pod管理

1.pod介绍<1> pod是可以创建和管理kubernetes计算的最小可部署单元,一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。<2> 一个Pod类似一个豌豆荚,包含一个或多个容器(通常是docker),多个容器间共享IPC,Network和UTC namespace。2.pod的创建pod分为俩类,一类是自主式pod,另一类是由控制器来控制的pod。kubectl get pod ##查看podkubectl get pod -o wide

2020-06-25 14:25:40 457

原创 Kubernetes(k8s)—k8s集群的部署

【实验环境】:server2:192.168.43.11 (用作harbor镜像仓库,我们将所需的镜像放在私有仓库里面,然后进行部署,这样可以提高部署的速率。)(给了2G内存)server7: 192.168.43.16 (给了2G内存;做master结点)server8: 192.168.43.17 (给了1G内存;做slave结点)server9: 192.168.43.18 (给了1G内存;做slave结点)1.所有节点部署docker引擎注:关闭节点的selinux和iptables防火

2020-06-24 23:04:31 380

原创 Kubernetes(k8s)—k8s的基本介绍

kubernetes简介简介<1> 在Docker 作为高级容器引擎快速发展的同时,在Google内部,容器技术已经应 用了很多年,Borg系统运行管理着成千上万的容器应用。<2> Kubernetes项目来源于Borg,可以说是集结了Borg设计思想的精华,并且吸收了 Borg系统中的经验和教训。<3> Kubernetes对计算资源进行了更高层次的抽象,通过将容器进行细致的组合,将 最终的应用服务交给用户。kubernetes的好处:<1> 隐

2020-06-24 15:07:59 247

原创 持续集成与持续交付—gitlab实时触发jenkins、jenkins调用远程docker主机来构建、jenkins结合ansible远程部署

1.gitlab自动触发Jenkins前面我们通过设置jenkins的触发器,让jenkins每隔一段时间去访问gitlab,检测gitlab是否发生更新,一旦检测更新,jenkins发起触发。这里我们也可以让gitlab实时去触发jenkins。首先我们需要安装gitlab插件。以前Jenkins的仓库是指定在localhost:5000主机,这里我们已经搭建好了harbor仓库,所以我们来修改一下jenkins的仓库为harbor仓库。...

2020-06-24 11:39:32 773

原创 持续集成与持续交付—harbor企业级镜像仓库

1.gitlab自动触发Jenkins前面我们通过设置jenkins的触发器,让jenkins每隔一段时间去访问gitlab,检测gitlab是否发生更新,一旦检测更新,jenkins发起触发。这里我们也可以让gitlab实时去触发jenkins。首先我们需要安装gitlab插件。2.创建harbor企业级镜像仓库实验主机server2: 192.168.43.11tar zxf harbor-offline-installer-v1.10.1.tgz ##解压安装包syste

2020-06-23 10:28:58 216

原创 持续集成与持续交付—jenkins持续集成

1.jenkins的简介Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建、部署、自动化, 满足任何项目的需要。Jenkins用Java语言编写,可在Tomcat等流行的servlet容器中运行,也可独立运行。CI(Continuous integration持续集成)持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。CD(Continuous Delivery持续交付) 是在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境(类生产环境)中

2020-06-22 12:04:37 228

原创 持续集成与持续交付—gitlab代码仓库

gitlab代码仓库意义:可以使用gitlab搭建私有仓库(1)软件安装gitlab-ce软件下载官网:https://about.gitlab.com/install/官方下载慢,推荐使用国内镜像站点:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/安装(官方推荐至少4G内存):yum install -y curl policycoreutils-python openssh-server ##先安装上一些依赖性yum insta

2020-06-16 11:04:26 176

原创 持续集成与持续交付—git工具的使用

1.git工具使用(1)git简介<1>Git特点:速度、简单的设计、对非线性开发模式的强力支持(允许成千上万个并行开发的分支)、完全分布式、有能力高效管理类似linux内核一样的超大规模项目(速度和数据量)。<2>自诞生于2005年以来,Git日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。他的速度飞快,及其适合管理大项目,有着令人难以置信的非线性分支管理系统。Git必看秘籍:https://git-scm.com/book/zh/v2<3>Git有

2020-06-16 09:30:41 200

原创 saltstack自动化运维管理—Job管理、salt-ssh与salt-syndic管理、salt-api配置

1.Job管理(1)job简介master在下发指令任务时,会附带上产生的jid。minion在接收到指令开始执行时,会在本地的/var/cache/salt/minion/proc目录下产生该jid的文件,用于执行过程中master查看当前任务的执行情况。指令执行完毕将结果传送给master后,删除该临时文件。(2)Job cachemaster端Job的缓存目录是/var/cache/salt/master/jobsJob缓存默认保存24小时vim /etc/salt/master

2020-06-12 00:07:59 222

原创 saltstack自动化运维管理—grains和pillar的详解、Jinja模板

1.grains和pillar的区别saltstack的数据采集系统。他有俩种方式,一种是grains,另一种是pillar。俩者最大的区别有俩点:(1)是grains是静态的,pillar是动态的;(2)grains最终生效的地方是在minion端,pillar最终生效是在master端。在生产环境中,定义一些敏感信息时,我们都会用pillar来做,因为这些信息是不会推送到minion端。下面将详细介绍这俩种方式。2.grains(1)定义:Grains是SaltStack的一个组件,存放在Sal

2020-06-11 16:48:33 220

原创 saltstack自动化运维管理—saltstack的介绍、安装与配置、远程执行

1.什么是saltstack?saltstack是一个配置管理系统,能维护预定义状态的远程节点。saltstack是一个分布式远程执行系统,用来在远程节点上执行命令和查询数据。saltstack是运维人员提高工作效率、规范业务配置与操作的利器。saltstack的核心功能是:使命令发送到远程系统是并行的而不是串行;使用安全加密的协议;使用最小最快的网络载荷;提供简单的编程接口。saltstack同样引入了更加细致化的领域控制系统来远程执行,使得系统成为目标不止可以通过主机名,还可以通过系统属性。

2020-06-08 23:33:46 225

原创 企业—docker的数据卷(volume)

1.什么是docker容器的数据卷?数据卷是一个或多个容器中专门指定的目录,它能够绕过联合文件系统。数据卷被设计用作数据持久化、并且是独立于容器的生命周期的。因此,Docker不会在删除容器时自动删除数据卷,也不会主动“垃圾回收”掉容器不再使用的卷。说白了,数据卷的存在就是想让容器的数据更持久化存在,而且可以实现容器之间的数据共享。当我们在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们关闭docker容器时是会消失的,但是其中产生的内容我们是希望能够把它给保存起来另作用途的。

2020-06-05 09:28:15 143

原创 企业—Docker的网络

1.什么是docker的网络?我们搭建好的docker不仅仅是在本机上运行,我还要其他用户来访问我。docker的原生网络有三种:bridge(默认)、host(主机模式)、none(无网络模式)。下面来具体介绍这三个。2.bridge当我们开启docker服务时,会自动生成一个docker0的 网卡,所有容器如果不指定网络,则都是桥接在docker0上的,外部主机不能直接和docker通信,它是先和docker的宿主主机的eth0网卡通信,eth0网卡再通过回环端口和docker0通信,docker

2020-06-03 12:08:49 222

原创 企业—docker仓库、仓库的用户认证、远程主机连接仓库

1.什么是docker仓库?如果是在企业中,我们有一个lump,elk,openssl,等等镜像,当企业中其他员工需要这些镜像时,如果靠我们手工一个一个给他们发,这会加大我们的工作量。这时我们需要用到docker仓库,docker仓库是用来存放已经封装好的镜像。docker镜像仓库有docker hub,下面将一一来介绍这三种2.docker hubdocker hub是一种官方的镜像仓库,他是开源的,你把镜像放上去,然后大家都可以看,也能下载使用。缺点就是他没有隐私,当然一个公司也不会将自己耗时耗

2020-06-02 10:20:11 246

原创 企业—Docker镜像的优化

1.用普通方法将nginx镜像加入到容器中,先不做优化docker ps -a ##查看所有容器列表cd docker ##进入docker目录vim Dockerfile ##编辑文件vim Dockerfile ##编辑此文件2.通过清理缓存和清除编译后的目录来实现镜像优化(优化第一步)vim Dockerfile ##编辑此文件3.通过减少镜像构建的层数来优化(优化第二步)镜像构建的层数越少,镜像就越小vim Dockerfile

2020-05-31 09:29:26 128

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除