C 竞争条件漏洞实验室
我有一个实验室,在那里我必须使用这个SeedUbuntu虚拟机来解决竞争条件漏洞。有一个C程序,我需要利用它来创建攻击,这样我就可以访问影子文件。以下是指向实验室的链接,其中包含程序和PDF信息: 我感到困惑的是,究竟该如何处理这个问题。我可以在不同的终端上编译和运行vulp.c程序和shell脚本,但是接下来我该怎么做呢?我需要执行什么样的代码或命令?我很困惑,我真的很感激在解决这项任务时能得到任何帮助!谢谢大家!C 竞争条件漏洞实验室,c,linux,security,command-line,race-condition,C,Linux,Security,Command Line,Race Condition,我有一个实验室,在那里我必须使用这个SeedUbuntu虚拟机来解决竞争条件漏洞。有一个C程序,我需要利用它来创建攻击,这样我就可以访问影子文件。以下是指向实验室的链接,其中包含程序和PDF信息: 我感到困惑的是,究竟该如何处理这个问题。我可以在不同的终端上编译和运行vulp.c程序和shell脚本,但是接下来我该怎么做呢?我需要执行什么样的代码或命令?我很困惑,我真的很感激在解决这项任务时能得到任何帮助!谢谢大家! /* vulp.c */ #include <stdio.h>
/* 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*/
#包括
#包括
#定义延迟10000
int main()
{
char*fn=“/tmp/XYZ”;
字符缓冲区[60];
文件*fp;
long int i;
/*获取用户输入*/
扫描频率(“%50s”,缓冲区);
如果(!访问(fn,W_OK)){
/*模拟延迟*/
对于(i=0;i
我在苏大读书时的解决方法
两个不同的shell同时执行两个循环。保持运行将持续运行
在名为file的文件中传递输入字符串的vulp.c程序
keep_攻击将首先创建文件,然后将其删除,然后创建一个指向目标文件的符号链接,该文件属于根目录。为了使我们的攻击成功,我们需要以下命令的执行顺序:
*(确保该程序具有设置的uid并且由root用户拥有--)是否需要修改此vulp程序?我需要在此程序中创建符号链接?我是C和Linux新手,所以这对我来说非常陌生!或者在运行vulp.c后,我是否在终端中创建链接?