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

    ------------恢复内容开始------------

    这个作业属于哪个课程 <2020-2021-1Linux内核原理与分析)>
    这个作业要求在哪里 <2020-2021-1Linux内核原理与分析第十二周作业>
    这个作业的目标 <ShellShock 攻击实验>
    作业正文 https://www.cnblogs.com/hyuxin/p/14183117.html

    ShellShock 攻击实验

    1.实验准备

    以root权限安装4.1版bash(4.2版本以上的漏洞已经被堵上了)
    下载

    $ sudo su
    $ wget http://labfile.oss.aliyuncs.com/bash-4.1.tar.gz
    

    安装

    $ tar xf bash-4.1.tar.gz
    $ cd bash-4.1
    $ ./configure #这一步过程比较长,请等待一会
    $ make && make install
    



    链接

    到这里就安装完了,接下来检测是否存在shellshock漏洞。

    输出vulnerable的话,说明bash有漏洞。
    最后,让/bin/sh 指向/bin/bash.
    查看ShellShock漏洞的真身:

    bash读取了环境变量,在定义foo之后直接调用了后面的函数。 一旦调用bash,自定义的语句就直接触发。

    2.攻击Set-UID程序

    首先,确保安装了带有漏洞的bash版本,并让/bin/sh 指向/bin/bash.
    $ sudo ln -sf /bin/bash /bin/sh
    在 /home/shiyanlou 目录下新建一个 shock.c 文件:

    #include <stdio.h>
    void main()
    {
        setuid(geteuid()); // make real uid = effective uid.
        system("/bin/ls -l");
    }
    

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

    我们注意到这里使用了setuid(geteuid()) 来使real uid = effective uid,这在Set-UID程序中不是普遍现象,但它确实有时会发生。以下是hack过程:

    将setuid(geteuid()) 语句去掉,再试试看攻击:


    (hack过程与step1完全一样,sh0ck是编译后的程序)
    失败了!这就说明如果 real uid 和 effective uid 相同的话,定义在环境变量中的内容在该程序内有效,那样shellshock漏洞就能够被利用了。
    ------------恢复内容结束------------

  • 相关阅读:
    HTML DOM 06 节点关系
    HTML DOM 05 事件(三)
    HTML DOM 05 事件(二)
    HTML DOM 05 事件(一)
    html DOM 04 样式
    html DOM 03 节点的属性
    html DOM 02 获取节点
    html DOM 01 节点概念
    JavaScript 29 计时器
    JavaScript 28 弹出框
  • 原文地址:https://www.cnblogs.com/hyuxin/p/14183117.html
Copyright © 2011-2022 走看看