본문 바로가기
반응형

pwnable15

[Toddler's Bottle] passcode 오랜만에 putty로 진입할 수 있는 문제가 나왔다. 컴파일 에러 어쩌구 하는 거 보니까 컴파일에 관한 문제인듯?#include  #include  void login(){         int passcode1;         int passcode2;         printf("enter passcode1 : ");         scanf("%d", passcode1);         fflush(stdin);         // ha! mommy told me that 32bit is vulnerable to bruteforcing :)         printf("enter passcode2 : ");         scanf("%d", passcode2);         printf("che.. 2024. 5. 11.
[Toddler's Bottle] random 몬데...?#include  int main(){         unsigned int random;         random = rand();        // random value!         unsigned int key=0;         scanf("%d", &key);         if( (key ^ random) == 0xdeadbeef ){                 printf("Good!\n");                 system("/bin/cat flag");                 return 0;         }         printf("Wrong, maybe you should try 2^32 cases.\n");         return 0; }k.. 2024. 5. 11.
[Toddler's Bottle] mistake #include  #include  #define PW_LEN 10 #define XORKEY 1 void xor(char* s, int len){         int i;         for(i=0; i                s[i] ^= XORKEY;         } } int main(int argc, char* argv[]){         int fd;         if(fd=open("/home/mistake/password",O_RDONLY,0400)                 printf("can't open password %d\n", fd);                 return 0;         }         printf("do not bruteforce...\.. 2024. 5. 11.
[Toddler's Bottle] shellshock mistake와 같이 1점짜리 문제다. 우선 코드를 보자#include int main(){        setresuid(getegid(), getegid(), getegid());        setresgid(getegid(), getegid(), getegid());        system("/home/shellshock/bash -c 'echo shock_me'");        return 0;}모르는 것을 정리해보자setresuid(real uid, effective uid, saved uid) 를 변환하는 함수이다.unprivileged process - 각 UID를 현재 프로세스의 각 UID로 설정(=수정불가)privileged processes(=CAP_SETUID 권한보유) - 각 .. 2024. 5. 11.
반응형