zoukankan      html  css  js  c++  java
  • 2019-2020-1 20199318《Linux内核原理与分析》第十一周作业

    《Linux内核原理与分析》 第十一周作业

    一、预备知识

    • 什么是ShellShock?

          Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。
      

    二、实验过程和分析

    我选择的实验是ShellShock 攻击实验,具体的实验过程如下:

    1. 以root权限安装4.1版bash。


    2. 首先,确保安装了带有漏洞的bash版本,并让/bin/sh 指向/bin/bash.

    3. 在 /home/shiyanlou 目录下新建一个 shock.c 文件,内容如下:

    4. 编译这段代码,并设置其为Set-UID程序,保证它的所有者是root。

    5. 这里使用了setuid(geteuid()) 来使real uid = effective uid,这在Set-UID程序中不是普遍现象, 以下是hack过程:

    6. 去掉setuid(geteuid()) 语句,再试攻击,不能拿到权限

          失败了!这就说明如果 real uid 和 effective uid 相同的话,定义在环境变量中的内容在该程序内有效,那样shellshock漏洞就能够被利用了。但是如果两个 uid 不同的话,环境变量失效,就无法发动攻击了,这可以从 bash的源代码中得到印证
      

           就是上述那一行判断逻辑导致了两者的不同,primode即私有模式,要求real uid 与 effective uid保持一致。
    

  • 相关阅读:
    NJU 操作系统实验三
    Oracle数据库的下载安装和配置
    实模式/保护模式
    FAT12
    FAT12 img tool
    Mysql InnoDB 数据更新/删除导致锁表
    程序员,你总要有点自己的想法吧!
    支付系统安全设计思维导图
    从实时清分手续费记账看代码的易读性
    (7/8)借助枚举说一下数据类型定义规范
  • 原文地址:https://www.cnblogs.com/SunMaolin/p/11941124.html
Copyright © 2011-2022 走看看