[root@localhost bash-4.3.30]# cat Makefile |grep prefix

prefix = /usr/local

exec_prefix = ${prefix}

datarootdir = ${prefix}/share

bindir = ${exec_prefix}/bin

libdir = ${exec_prefix}/lib

includedir = ${prefix}/include

prefix=${prefix} exec_prefix=${exec_prefix} \

[root@localhost bash-4.3.30]# whereis bash

bash: /usr/bin/bash /usr/local/bin/bash /usr/share/man/man1/bash.1.gz

[root@localhost bash-4.3.30]# /usr/bin/bas

base64      basename    bash        bashbug     bashbug-32

[root@localhost bash-4.3.30]# /usr/bin/bash --version

GNU bash, version 4.2.45(1)-release (i686-redhat-linux-gnu)

Copyright (C) 2011 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

[root@localhost bash-4.3.30]# /usr/local/bin/bash --version

GNU bash, version 4.3.30(1)-release (i686-pc-linux-gnu)

Copyright (C) 2013 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

[root@localhost bash-4.3.30]#

库文件查询

[root@localhost bash-4.3.30]# ldd bash

linux-gate.so.1 =>  (0xb779a000)

libtinfo.so.5 => /lib/libtinfo.so.5 (0x4e41c000)

libdl.so.2 => /lib/libdl.so.2 (0x4c65c000)

libc.so.6 => /lib/libc.so.6 (0x4c49c000)

/lib/ld-linux.so.2 (0x4c473000)

[root@localhost bash-4.3.30]#

[root@localhost shell_up_zhb]# chsh  -l

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

[root@localhost shell_up_zhb]# lsof /bin/sh

COMMAND  PID USER  FD   TYPE DEVICE SIZE/OFF     NODE NAME

bash    8522 root txt    REG  253,1   917564 11014242 /usr/bin/bash

[root@localhost shell_up_zhb]# lsof /bin/bash

COMMAND  PID USER  FD   TYPE DEVICE SIZE/OFF     NODE NAME

bash    8522 root txt    REG  253,1   917564 11014242 /usr/bin/bash

sh      8914 root txt    REG  253,1   917564 11014242 /usr/bin/bash

[root@localhost shell_up_zhb]#

1以前的思路是拷贝升级后的可执行文件,库,配置文件(如果有),开始按此思路升级,失败,并且没法登陆。

2 后来发现chsh命令可以设置开机使用的sh,考虑升级登陆后的sh,开机使用另一个,升级成功后在,切换升级另一个。后来发现,系统实际上只用一个sh,次思路不对

3 bash升级只是为了修补心血漏洞,估计只需升级可执行文件即可。通过lsof发现,实际上使用的是/usr/bin/sh的shell,/bin/sh其实是连接,那就只拷贝/usr/bin/sh,/usr/bin/bash,拷贝时发现在使用,那就先复制在拷贝。

4 拷贝成功后,用测试例子试一下,发现可以

[NTP-Fedora20 shell_up_zhb]#env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

vulnerable

this is a test

[NTP-Fedora20 shell_up_zhb]#env x='() { :;}; echo vulnerable' ./bash -c "echo this is a test"

this is a test

5 reboot发现成功

shell升级完整记录的更多相关文章

  1. DS4700磁盘阵列的控制器微码升级操作记录(收录百度文库)

    DS4700磁盘阵列的控制器微码升级操作记录   项目介绍: 于10年3月,XX地市区/州XX分公司相继反映生产读取数据速度较之前变得非常慢,表现在:日常报表抽取数据速度明显变慢,客户打开前台页面速度 ...

  2. kvm虚拟化管理平台WebVirtMgr部署-完整记录(3)

    继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装:kvm虚拟化管理平台WebVirtMgr部署-虚拟化环境安装-完整记录(0)kvm虚拟化管理平台WebVirtMgr部署-完 ...

  3. kvm虚拟化管理平台WebVirtMgr部署-完整记录(2)

    继上一篇kvm虚拟化管理平台WebVirtMgr部署-完整记录(1),接下来说说WebVirtMgr的日常配置:添加宿主机,创建虚机,磁盘扩容,快照等具体操作记录如下: 一.配置宿主机1.登录WebV ...

  4. kvm虚拟化管理平台WebVirtMgr部署-完整记录(1)

    公司机房有一台2U的服务器(64G内存,32核),由于近期新增业务比较多,测试机也要新增,服务器资源十分有限.所以打算在这台2U服务器上部署kvm虚拟化,虚出多台VM出来,以应对新的测试需求.当KVM ...

  5. Centos7.2 下DNS+NamedManager高可用部署方案完整记录

    Centos7.2 下DNS+NamedManager高可用部署方案完整记录 之前说到了NamedManager单机版的配置,下面说下DNS+NamedManager双机高可用的配置方案: 1)机器环 ...

  6. 部署gerrit环境完整记录【转】

    开发同事提议在线上部署一套gerrit代码审核环境,废话不多说,部署gerrit的操作记录如下:提前安装好java环境,mysql环境,nginx环境测试系统:centos6.5下载下面三个包,放到/ ...

  7. collection v1.3.1升级全记录

    collection v1.3.1升级全记录 项目地址: https://github.com/jianfengye/collection 欢迎star. collection 手册地址: http: ...

  8. Centos 5.x 升级 python2.7,安装setuptools、mysqldb 完整记录

      最近由于有个工作任务需要搭个虚拟机环境,但是环境是搭建在内网,无法直接联网,很多软件都不能直接yum安装, 安装过程实在十分不顺利,在此留个记录给有需要的朋友. 环境是 CentOS 5.7 x6 ...

  9. [原创]CI持续集成系统环境---部署Jenkins完整记录

    Jenkins通过脚本任务触发,实现代码的自动化分发,是CI持续化集成环境中不可缺少的一个环节. 下面对Jenkins环境的部署做一记录. ------------------------------ ...

随机推荐

  1. [日常工作] 并行计算引发Microsoft.jscript.ni.dll的内存溢出问题的分析解决. .net framework 的版本说明

    1. 性能组进行 单点性能测试时发现 商务智能的 并行分析有问题. 效率很低, 开发人员查看iis 的日志 发现错误原因是 Microsoft.jscript.ni.dll 有内存溢出的问题 开发人员 ...

  2. [转载]Docker 完全指南

    Docker 完全指南 原作者地址: https://wdxtub.com/2017/05/01/docker-guide/  发表于 2017-05-01 |  更新于 2017-08-03 |   ...

  3. msyql: navicat 连接时msyql遇到的问题

    1.使用 mysql的用户,密码连接 服务器上的MySQL时,连接不上,报 100xx的错误. 1)原因是,MySQL默认情况下,只允许本地连接[127.0.0.1,或localhost]来连接mys ...

  4. 转帖:Android 官方推荐 : DialogFragment 创建对话框

    转: Android 官方推荐 : DialogFragment 创建对话框 复制内容,留作备份 1. 概述 DialogFragment在android 3.0时被引入.是一种特殊的Fragment ...

  5. Python开发【第七章】:面向对象进阶

    1.静态方法 通过@staticmethod装饰器即可把其装饰的方法变为一个静态方法,什么是静态方法呢?其实不难理解,普通的方法,可以在实例化后直接调用,并且在方法里可以通过self.调用实例变量或类 ...

  6. 如何设置Listbox的行间距?

    关于Listbox的问题? 1. 如何设置Listbox的行间距?  2. 如何实现当鼠标点击Listbox时,被选中的那一行在鼠标点击处出现一控件?    也就是怎么计算出被选中的那一行鼠标点击处的 ...

  7. Python day5 --------递归、匿名函数、高阶函数、内置函数

    一.递归 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归要求: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减 ...

  8. Spring Boot -Shiro配置多Realm

    核心类简介 xxxToken:用户凭证 xxxFilter:生产token,设置登录成功,登录失败处理方法,判断是否登录连接等 xxxRealm:依据配置的支持Token来认证用户信息,授权用户权限 ...

  9. 【Revit API】调用Revit内部命令PostableCommand

    Revit内置了一些命令,直接调用Revit操作方式. 可以去API文档查询PostableCommand枚举,还是很多的. 话不多说,直接上代码 var commandId = RevitComma ...

  10. 洛谷 P2178 [NOI2015]品酒大会 解题报告

    P2178 [NOI2015]品酒大会 题目描述 一年一度的"幻影阁夏日品酒大会"隆重开幕了.大会包含品尝和趣味挑战 两个环节,分别向优胜者颁发"首席品酒家"和 ...