remote

Java反序列化漏洞详解

霸气de小男生 提交于 2019-12-07 01:18:58
Java 反序列化 漏洞 从爆出到现在快2个月了,已有白帽子实现了jenkins,weblogic,jboss等的代码执行利用工具。本文对于Java 反序列化 的 漏洞 简述后,并对于Java 反序列化 的Poc进行详细解读。 Java反序列化漏洞简介 Java序列化就是把对象转换成字节流,便于保存在内存、文件、数据库中,Java中的ObjectOutputStream类的writeObject()方法可以实现序列化。 Java 反序列化 即逆过程,由字节流还原成对象。ObjectInputStream类的readObject()方法用于 反序列化 。 因此要利用Java 反序列化 漏洞 ,需要在 进行 反序列化 的地方 传入 攻击者的序列化代码 。能符合以上条件的地方即存在 漏洞 。 Java反序列化Poc详解 public class test {public static void main(String[] args) throws Exception {String[] execArgs = new String[] { "sh", "-c", "whoami > /tmp/fuck" };Transformer[] transformers = new Transformer[] {new ConstantTransformer(Runtime.class),new

Git使用

回眸只為那壹抹淺笑 提交于 2019-12-06 14:10:04
一、Git简介 Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 分布式相比于集中式的最大区别在于开发者可以提交到本地,每个开发者通过克隆(git clone),在本地机器上拷贝一个完整的Git仓库。 图为git开发过程: 1、Git的功能特性 从一般开发者的角度来看,git有以下功能: 从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。 在自己的机器上根据不同的开发目的,创建分支,修改代码。 在单机上自己创建的分支上提交代码。 在单机上合并分支。 把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。 生成补丁(patch),把补丁发送给主开发者。 看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。 一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。 从主开发者的角度看,git有以下功能: 查看邮件或者通过其它方式查看一般开发者的提交状态。 打上补丁,解决冲突(可以自己解决

Day79git简介与基本操作

你说的曾经没有我的故事 提交于 2019-12-06 12:19:08
一.git简介 """ 什么是git:版本控制器 - 控制的对象是开发的项目代码 代码开发时间轴:需求1 > 版本库1 > 需求2 > 版本库2 > 版本库1 > 版本库2 """ 二.git与svn比较 svn工作流程 git工作流程 git分支管理 三.git使用 安装 # 1.下载对应版本:https://git-scm.com/download # 2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项 基础命令 将已有的文件夹-初始化为git仓库 """ >: cd 目标文件夹内部 >: git init """ 在指定目录下-初始化git仓库 """ >: cd 目标目录 >: git init 仓库名 """ 在仓库目录终端下-设置全局用户 """ >: git config --global user.name '用户名' >: git config --global user.email '用户邮箱' 注:在全局文件 C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用 """ 在仓库目录终端下-设置局部用户 """ >: git config user.name '用户名' -- 用户名 >: git config user.email '用户邮箱'

Git

强颜欢笑 提交于 2019-12-06 10:31:19
Git 什么是版本控制器 版本控制器就是管理项目的工具,用于记录和存储项目的更新迭代和备份信息,以更好的控制项目的生命周期,有效的减少风险。 如果石团队开发同一个项目,版本控制器可以整合代码,提醒代码的冲突问题。 集中式和分布式版本控制器 集中式版本控制器 代表:svn 只有一个集中管理的服务器,保存所有文件的修改,多个客户端连接这个服务器,提交和更新文件。 问题: 如果服务器被攻击了,或者宕机了,代码可能会丢失,开发进度会被拖延,而且必须要联网才能正常工作。 分布式版本控制器 代表:git Git只关心文件数据整体变化,保存每次项目的快照,而且是分布式的,每一台电脑都可以作为服务器,也可以同时开发,最后客户端和服务端整合。 Git工作流程 git使用 安装 # 1.下载对应版本:https://git-scm.com/download # 2.安装git:在选取安装路径的下一步选取 Use a TrueType font in all console windows 选项 基础命令 将已有的文件夹 - 初始化为git仓库 """ >: cd 目标文件夹内部 >: git init """ 在指定目录下 - 初始化git仓库 """ >: cd 目标目录 >: git init 仓库名 """ 在仓库目录终端下 - 设置全局用户 """ >: git config --global

git修改远程仓库地址

怎甘沉沦 提交于 2019-12-06 10:00:46
问:Coding远程仓库地址变了,本地git仓库地址如何更新为最新地址 git修改远程仓库地址 方法有三种: 1.修改命令 git remote origin set-url [url] 2.先删后加 git remote rm origin git remote add origin [url] 3.直接修改config文件 git 远程仓库管理 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库,以便推送或拉取数据,分享各自的工作进展.管理远程仓库的工作,包括添加远程库,移除废弃的远程库,管理各式远程库分 支,定义是否跟踪这些分支,等等.本节我们将详细讨论远程库的管理和使用.   查看当前的远程库   要查看当前配置有哪些远程仓库,可以用 git remote 命令,它会列出每个远程库的简短名字.在克隆完某个项目后,至少可以看到一个名为 origin 的远程库,Git 默认使用这个名字来标识你所克隆的原始仓库:   $ git clone git://github.com/schacon/ticgit.git   Initialized empty Git repository in /private/tmp/ticgit/

Git --05 Gitlab使用

对着背影说爱祢 提交于 2019-12-06 08:09:43
目录 Gitlab使用 01. 外观配置 02. Gitlab汉化配置 03. 注册限制 04. 创建用户及组 05. 创建用户 06. 把用户添加到组 07. 创建项目 08. 推送代码到Gitlab 09. 开发推送代码到Gitlab 10. 分支保护 11. 代码合并 Gitlab使用 01. 外观配置 02. Gitlab汉化配置 1、下载汉化补丁 git clone https://gitlab.com/xhang/gitlab.git 2、查看全部分支版本 git branch -a 3、对比版本、生成补丁包 git diff remotes/origin/10-2-stable remotes/origin/10-2-stable-zh > ../10.2.2-zh.diff 4、停止服务器 gitlab-ctl stop 5、打补丁 patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < /tmp/10.2.2-zh.diff 6、启动和重新配置 gitlab-ctl start gitlab-ctl reconfigure 03. 注册限制 04. 创建用户及组 05. 创建用户 06. 把用户添加到组 07. 创建项目 返回首页,进入项目 #删除github的仓库 [root@git ~/git_data

git命令大全

旧巷老猫 提交于 2019-12-06 07:00:39
git命令大全 willcoder 关注 0.9562019.06.06 09:01:55字数 545阅读 7,077 Git图形化界面我用的还可以,但是命令就不太会了,索性和大家一起学习下Git命令的用法... 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。 git使用.jpg git命令.jpg fetch vs pull git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 一、新建代码库 # 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project-name] # 下载一个项目和它的整个代码历史 $ git clone [url] 二、配置 Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

Git

只谈情不闲聊 提交于 2019-12-06 06:36:14
版本控制器--Git(注意版本号) 什么是版本控制器? 版本控制器就是管理项目的工具,用于记录和存储项目的更新迭代和备份等信息,以更好的控制项目的生命周期,有效减少风险。 如果是团队开发同一个项目,版本控制器可以整合代码,提醒代码的冲突问题 集中式和分布式版本控制器 集中式版本控制器 代表:svn 只有一个集中管理的服务器,保存所有文件的修改,多个客户端连接这个服务器,提交和更新文件 问题: 如果服务器被黑或者出现了异常,代码可能丢失,开发进度将会被拖延,而且必须联网才能正常工作 分布式版本控制器 代表:git Git只关心文件数据整体变化,保存每次项目的快照,而且是分布式的,每一天电脑都可以作为服务器,也可以同时开发(客户端和服务端整合) git工作流程 常用命令 cd cd .. ls ll 编辑文件 vi i 进入编辑 esc 退出编辑 :wq 保存退出 创建全局用户 首先得创建全局用户,否则不让commit git config --global user.name git config --global user.email 全局配置文件在C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用,创建的用户就在里面 创建仓库用户-局部用户 git config user.name git config user.email 局部配置文件在

Python自动化打包业务和认证平台

这一生的挚爱 提交于 2019-12-06 05:34:00
Python自动化打包业务和认证平台 1.文档摘要 Python 自动化打包业务和认证平台,本机只需执行脚本,远程即可自动部署。 2.更新日志 2014-11-28 文档版本为「1.0」,文档名为「Python自动化打包业务和认证平台 V1.0」,备注为「文档正式版,已测试通过」,By Robin。 3.版本信息 本机 XXX: 系统版本:Mac OS X 10.9.4 主机名:XXX IP:xxx.xxx.xxx.xxx Python:2.7.5 远程机 XXX: 系统版本:Debian 7.6 主机名:XXX IP:xxx.xxx.xxx.xxx Python:2.7.3 JDK:1.8.25 Maven:3.2.3 SVN:1.6.17 4.先决条件 本机安装软件: Python 2.7.5 sshpass 1.0.5 安装包如下: apt-get: python python-pip python-dev subversion subversion-tools pip: fabric 远程服务器安装软件: JDK:1.8.25 Maven:3.2.3 SVN:1.6.17 安装包如下: dos2unix subversion subversion-tools 5.脚本详解 5.1 软件概要 本软件包括两个Python脚本以及一个配置文件。目录结构如下: tree auto