【问题标题】:Race Condition Vulnerability Lab竞争条件漏洞实验室
【发布时间】:2014-03-05 06:03:54
【问题描述】:

我有一个实验室,我必须使用这个 SeedUbuntu 虚拟机来解决竞争条件漏洞。我需要使用 C 程序来创建攻击,以便我可以访问影子文件。以下是包含程序和 PDF 信息的实验室链接:http://www.cis.syr.edu/~wedu/seed/Labs/Vulnerability/Race_Condition/ 我很困惑的是如何解决这个问题。我可以在单独的终端中编译和运行 vulp.c 程序和 shell 脚本,但接下来我该怎么做?我需要执行什么样的代码或命令?我很困惑,我非常感谢在解决这项任务方面的任何帮助!谢谢!

/*  vulp.c  */

#include <stdio.h>
#include<unistd.h>

#define DELAY 10000

int main()
{
   char * fn = "/tmp/XYZ";
   char buffer[60];
   FILE *fp;
   long int  i;

   /* get user input */
   scanf("%50s", buffer );

   if(!access(fn, W_OK)){
       /* simulating delay */
        for (i=0; i < DELAY; i++){
           int a = i^2; 
        }

        fp = fopen(fn, "a+");
        fwrite("\n", sizeof(char), 1, fp);
        fwrite(buffer, sizeof(char), strlen(buffer), fp);
        fclose(fp);
   }
   else printf("No permission \n");
}

【问题讨论】:

  • 我需要修改这个vulp程序吗?
  • 我需要在这个程序中做一个符号链接吗?我是 C 和 Linux 的新手,所以这对我来说很陌生!
  • 或者我是在运行 vulp.c 后在终端中创建一个链接吗?

标签: c linux security command-line race-condition


【解决方案1】:

我在SU学生时的解决方法,

两个不同的 shell 同时执行两个循环。 keep_run 会持续运行

带有输入字符串的 vulp.c 程序在名为 FILE 的文件中传递。

keep_attack 将首先创建该文件,然后将其删除,然后它会创建一个指向我们的目标文件的符号链接,该文件属于根目录。我们需要以下命令的执行顺序才能使我们的攻击成功:

  1. keep_attack >> touch /tmp/XYZ

  2. keep_run >> 运行 vulp 并检查文件(执行访问命令)

  3. keep_攻击 >> rm /tmp/XYZ

  4. keep_attack >> ln –s target_file /tmp/XYZ

  5. keep_run >> 到达试图打开文件的命令

*(确保程序有 set-uid 并且归根用户所有 -- setuid program owned by non-root user)

【讨论】:

    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 2020-12-26
    • 2013-02-01
    • 2010-12-03
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2018-10-08
    相关资源
    最近更新 更多