假设这段代码:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char** argv){
char fonction[50] = "/usr/bin/passwd ";
char messageAccueil[100] = "changement du mot de passe de : ";
if(argc == 1){
printf("vous devez passer un username en parametre \n");
return 1;
}
printf(messageAccueil);
printf(argv[1]); //<-- format string vulnerability here !!
if(strcmp(argv[1], "root")==0){
printf("vous ne pensiez quand meme pas pouvoir changer le mot de passe de root si facilement ?\n");
return 1;
}
printf("\n");
strncat(fonction,argv[1],38);
system(fonction);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我想通过利用格式化字符串漏洞给exec外壳,所以,我想改写strcmp …
对于 docker 来说,我是个新手,我正在尝试构建软件的映像,在 RUN apt-get install -y xxx 命令期间,我遇到了问题:
Setting up lvm2 (2.02.95-8) ...
Setting up LVM Volume Groups... /dev/mapper/control: open failed:Operation not permitted
Failure to communicate with kernel device-mapper driver.
Check that device-mapper is available in the kernel.
No volume groups found
/dev/mapper/control: open failed: Operation not permitted
Failure to communicate with kernel device-mapper driver.
Check that device-mapper is available in the kernel.
No volume groups found
Run Code Online (Sandbox Code Playgroud)
什么可能导致这个问题?
我的发行版是 Debian7,也许我应该在更新的发行版上尝试这个?
这是 Dockerfile :
#installation d'hynesim
FROM debian:wheezy
RUN echo …Run Code Online (Sandbox Code Playgroud)