运行命令

RCE

廉价感情. 提交于 2019-11-30 03:20:57
RCE remote command/code execute 远程系统命令/代码执行 系统从设计上需要给用户提供指定的远程命令操作的接口。可以测试一下自动运维平台。 在PHP中,使用system、exec、shell_ exec、passthru、pcntl_exec、popen、proc_popen等函数可以执行系统命令。 系统命令拼接 windows “|”:管道符,前面命令标准输出,后面命令的标准输入。例如:help |more “&” commandA & commandB 先运行命令A然后运行命令B “||” commandA || commandB 运行命令A,如果失败则运行命令B “&&” commandA && commandB 运行命令A,如果成功则运行命令B linux “|”:管道符,前面命令标准输出,后面命令的标准输入。例如:help |more “&” commandA & commandB 先运行命令A然后运行命令B “||” commandA || commandB 运行命令A,如果失败则运行命令B “&&” commandA && commandB 运行命令A,如果成功则运行命令B “;” commandA && commandB执行完A执行B 代码执行 大部分语言有类似eval()函数,将字符串当作代码执行。可以尝试写webshell。 PHP

Docker基本命令及工作原理

 ̄綄美尐妖づ 提交于 2019-11-30 03:20:06
第一个Docker容器 1、首先确保Docker运行正常:docker info 2、启动以第一个Docker容器:docker run -i -t ubuntu /bin/bash 命令说明: ubuntu:这个是基础镜像名称,可以是mysql、redis等所有的基础镜像,他指以什么镜像创建一个新的容器,此例子使用ubuntu,指在ubuntu镜像的基础上创建一个镜像(在基础镜像上可以加各种其他操作,本例子只是单纯的使用ubuntu镜像创建了一个容器,未做其他附加操作)。 -i :说明这是一个标准输入,可以进行交互, -t :告诉Docker要为新创建的容器创建一个伪tty终端,从而可以进行交互。简单的说,-i -t 两个一起使用,我们才能在终端使用命令操作新创建的容器。(与之相反的是运行在后台不能进行交互的容器,后面会说到) /bin/bash:执行命令后进入容器的shell界面,即直接可以与新创建的容器进行交互(看下图红色标记,即为新增容器ID,说明已经进入新建容器的shell界面)。 3、使用第一个容器 查看新容器的相关信息 查看容器主机名:hostname ,实际上与容器ID一致。 查看host文件:cat /etc/hosts 查看容器接口:ip a 说明:(1)如果出现bash: ip: command not found错误:执行 apt-get install

<转>)Android App性能评测分析-cpu占用篇

本小妞迷上赌 提交于 2019-11-30 02:42:49
1、前言 很多时候在使用APP的时候,手机可能会发热发烫。这是因为CPU使用率过高,CPU过于繁忙,会使整个手机无法响应用户,整体性能降低,用户体验就会很差,也容易引起ANR等等一系列问题。以下会根据实际app性能测试案例,展开进行app性能评测之CPU使用率的分析和总结。 CPU使用率原理理解 在Linux系统下,CPU利用率分为用户态、系统态、空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间。 平时所说的CPU利用率是指:CPU执行非系统空闲进程的时间 / CPU总的执行时间。 那么我们来看看这个时间究竟是什么? 先介绍几个和Linux时间有关的名词:HZ、tick与jiffies。 HZ:Linux 核心每隔固定周期会发出timer interrupt (IRQ 0),HZ是用来定义每一秒有几次timer interrupts。例如HZ为1000,就代表每秒有1000次timer interrupts。 Tick :Tick是HZ的倒数,Tick = 1/HZ 。即timer interrupt每发生一次中断的时间。如HZ为250时,tick为4毫秒(millisecond)。 Jiffies :在Linux的内核中,有一个全局变量:Jiffies。 Jiffies代表时间。它的单位随硬件平台的不同而不同。jiffies的单位就是 1

一:Vue之开发环境搭建

百般思念 提交于 2019-11-30 01:21:26
简单分享下vue项目的开发环境搭建流程~ 1、安装nodeJS   vue的运行是要依赖于node的npm的管理工具来实现,下载地址: https://nodejs.org/en/ 。安装完成之后以管理员身份运行cmd, 输入node -v,查看node版本号,出现版本号则说明安装成功。 2、安装淘宝npm镜像   由于npm是国外的使用速度较慢,所以我们需要安装使用淘宝的cnpm镜像命令来管理工具。安装命令如下:   npm install -g cnpm –-registry=https://registry.npm.taobao.org,在cmd下直接运行即可。 3、安装vue脚手架   vue的脚手架分为2.0和3.0两个版本,安装命令稍有区别,具体如下:   2.0版本:cnpm install -g vue-cli   3.0版本:cnpm install -g @vue/cli   都是在cmd下直接运行进行全局安装,完成后执行vue -V命令验证是否安装成功。 4、安装 Webpack   在cmd下执行命令cnpm install webpack -g进行安装。   注意:webpack 4x以上,webpack将命令相关的内容都放到了webpack-cli,所以还需要安装webpack-cli;安装完成后执行webpack -v验证。     

Docker到底是什么,要解决什么问题,好处又在哪里?

跟風遠走 提交于 2019-11-30 00:47:36
软件开发最大的麻烦事之一,就是环境配置。用户 计算机 的环境都不相同,你怎么知道自家的软件,能在那些机器跑起来?用户必须保证两件事:操作系统的设置,各种库和组件的安装。只有它们都正确,软件才能运行。举例来说,安装一个 Python 应用,计算机必须有 Python 引擎,还必须有各种依赖,可能还要配置环境变量。如果某些老旧的模块与当前环境不兼容,那就麻烦了。开发者常常会说:"它在我的机器可以跑了"(It works on my machine),言下之意就是,其他机器很可能跑不了。环境配置如此麻烦,换一台机器,就要重来一次,旷日费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样地复制过来。 二、虚拟机 虚拟机(virtual machine)就是带环境安装的一种解决方案。它可以在一种操作系统里面运行另一种操作系统,比如在 Windows 系统里面运行 Linux 系统。应用程序对此毫无感知,因为虚拟机看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件,不需要了就删掉,对其他部分毫无影响。虽然用户可以通过虚拟机还原软件的原始环境。但是,这个方案有几个缺点。 资源占用多 虚拟机会独占一部分内存和硬盘空间。它运行的时候,其他程序就不能使用这些资源了。哪怕虚拟机里面的应用程序,真正使用的内存只有 1MB

Dos基本命令及批处理

我与影子孤独终老i 提交于 2019-11-29 23:51:19
如何操作DOS命令: 开始----运行----cmd----回车; win+R------运行----cmd----回车; 基本命令: 1、命令:color f0   color ? 寻求帮助   改变背景颜色; 2、cls-------------清屏; 3、dir--------------浏览当前文件夹内容; 4、cd--------------进入目录; 5、ls--------------查看当前文件夹内容; 6、tab键:补全路径功能; 来源: https://www.cnblogs.com/ziyandeyanhuo/p/11540388.html

Linux性能优化实战:案例篇-怎么缓解 DDoS 攻击带来的性能下降问题?(39)

淺唱寂寞╮ 提交于 2019-11-29 21:54:24
一、上节回顾 上一节,我带你学习了 tcpdump 和 Wireshark 的使用方法,并通过几个案例,带你用这两个工具实际分析了网络的收发过程。碰到网络性能问题,不要忘记可以用 tcpdump 和 Wireshark 这两个大杀器,抓取实际传输的网络包,排查潜在的性能问题。 今天,我们一起来看另外一个问题,怎么缓解 DDoS(Distributed Denial of Service)带来的性能下降问题。 二、DDoS 简介 1、DDoS 简介 DDoS 的前身是 DoS(Denail of Service),即拒绝服务攻击,指利用大量的合理请求,来占用过多的目标资源,从而使目标服务无法响应正常请求。 DDoS(Distributed Denial of Service) 则是在 DoS 的基础上,采用了分布式架构,利用多台主机同时攻击目标主机。这样,即使目标服务部署了网络防御设备,面对大量网络 请求时,还是无力应对。 比如,目前已知的最大流量攻击,正是去年 Github 遭受的 DDoS 攻击,其峰值流量已经达到了 1.35Tbps,PPS 更是超过了 1.2 亿(126.9 million)。 2、从攻击的原理上来看,DDoS 可以分为下面几种类型。 第一种,耗尽带宽。无论是服务器还是路由器、交换机等网络设备,带宽都有固定的上限。带宽耗尽后,就会发生网络拥堵

Docker新手入门之三:Docker容器的基本使用

瘦欲@ 提交于 2019-11-29 21:32:25
转载过程中,图片丢失,代码显示错乱。 为了更好的学习内容,请访问原创版本: https://www.missshi.cn/api/view/blog/5a63279b0a745f6335000003 Ps:初次访问由于js文件较大,请耐心等候(5s左右) 在之前的文章中,我们已经讲解了Docker的基本概念以及如何在各个平台下进行Docker的安装。 在接下来,我们将继续讲解Docker容器的基本使用。 查看Docker服务是否正常 执行如下命令后,我们可以看到Docker的一些基本信息,包括容器、镜像的数量,执行与存储驱动以及Docker的基本配置等。 sudo docker info # Containers: 1 # Running: 0 # Paused: 0 # Stopped: 1 # Images: 1 运行容器 接下来,我们将会使用 docker run 命令来创建容器。 sudo docker run - i - t ubuntu / bin / bash 让我们来分析一下这条简单的命令吧: 首先,我们给Docker执行的是 docker run 命令。 此外,我们指定了两个参数,分别是 -i 和 -t 。 -i 参数用设置容器中的STDIN是开启的。 -t 参数表示为创建的容器分配一个伪tty终端。 Ps:通常 -i 和 -t 两个参数会联合使用,也可以写作

使用dockerfile 搭建django系统(nginx+redis+mongodb+celery)

旧城冷巷雨未停 提交于 2019-11-29 21:29:59
背景 有需求需要对django系统进行docker化,以达到灵活部署和容灾。该系统基于django 2.2版本开发,数据库采用mongodb,服务器使用nginx,因系统有部分异步任务,异步任务则采用clelery+redis实现。 基于该需求,所采用的思路是:“基于ubuntu16.04”源镜像,根据dockerfile制作各个运行环境的镜像。因docker提倡单应用单镜像,故这里将django源代码程序作为一个镜像、mongodb作为一个镜像、nginx作为一个镜像、redis作为一个镜像。并最终使用docker-compose对这些镜像做编排。(假设当前已了解docker与docker-compose知识) 实现 下面就是一步步制作docker镜像了。关于各个镜像的Dockerfile模板,这里有一个非常好用的 网站 ,可在网站中搜索自己感兴趣的项目,得到其Dockerfile。假设ubuntu16.04的源镜像及版本名为:ubuntu:16.04。 首先我们在宿主机(宿主机为ubuntu16.04系统,用户为user)中建立一个父文件夹例如名为vs,其中的目录如下: mongodb_vs: 存放mongod的数据、配置文件与dockerfile文件; vsapp: 存放django系统的源代码、相关配置文件与dockerfile文件; redis_vs:

Docker Swarm 集群(十七)

我与影子孤独终老i 提交于 2019-11-29 19:11:33
一、Docker Swarm 概念 1、集群 从主机的层面来看,Docker Swarm 管理的是 Docker Host 集群。所以先来讨论一个重要的概念 - 集群化(Clustering)。 服务器集群由一组网络上相互连接的服务器组成,它们一起协同工作。一个集群和一堆服务器最显著的区别在于: 集群能够像 单个 系统那样工作,同时提供高可用、负载均衡和并行处理。 如果我们部署应用和服务时选择的是多个独立的服务器而非集群,资源的整体利用率则很难达到最优,因为我们无法提前知道如何分布这些应用才能达到资源利用的最大化。而且,应用使用资源的趋势是波动的,早上某些服务可能需要大量的内存,而下午使用量就降下来了。提前指定应用应该运行在哪个服务器上会丧失业务的弹性,当某个服务器宕机了,我们不得不手工将受影响的应用迁移到其他服务器上。 实现集群化后我们的思维方式就必须改变了:不再考虑一个一个的服务器,而是将集群看做是一个整体。 部署应用时,我们只考虑需要多少内存和 CPU,而不是考虑会使用那台服务器的内存和 CPU。我们不应该关心应用会被部署在哪里,我们关心的是运行这个应用需要哪些资源,然后将它部署到集群,集群管理程序(比如 Docker Swarm)会搞定这些细节。 集群整体容量的调整是通过往集群中添加和删除主机节点实现的。但不管做怎样的操作,集群始终还是一个整体。 2、Docker