Pwnable-blukat

时间:2019-10-30
本文章向大家介绍Pwnable-blukat,主要包括Pwnable-blukat使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

ssh blukat@pwnable.kr -p2222 (pw: guest)

连接上去看看c的源码

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <fcntl.h>
char flag[100];
char password[100];
char* key = "3\rG[S/%\x1c\x1d#0?\rIS\x0f\x1c\x1d\x18;,4\x1b\x00\x1bp;5\x0b\x1b\x08\x45+";
void calc_flag(char* s){
    int i;
    for(i=0; i<strlen(s); i++){
        flag[i] = s[i] ^ key[i];
    }
    printf("%s\n", flag);
}
int main(){
    FILE* fp = fopen("/home/blukat/password", "r");
    fgets(password, 100, fp);
    char buf[100];
    printf("guess the password!\n");
    fgets(buf, 128, stdin);
    if(!strcmp(password, buf)){
        printf("congrats! here is your flag: ");
        calc_flag(password);
    }
    else{
        printf("wrong guess!\n");
        exit(0);
    }
    return 0;
}

比较password和buf,是的话跳出flag,反之则不是

貌似没有什么突破点,看了别人writeup,发现我们可以把password下载到本地,但是没有读取的权限,是不可能下载到本地,于是看看权限

 能拥有读权限的只有root和blukat_pwn  于是推测我们可能在所属组里面

  果不其然,确实是在所属组里面,那么就可以读取password的内容

 表面上说是没有权限,实际上这就是password的内容,有点掩人耳目

Pl3as_DonT_Miss_youR_GrouP_Perm!!

原文地址:https://www.cnblogs.com/gaonuoqi/p/11764736.html