2번 문제임당 MD5 해쉬 충돌에 관한 내용을 아빠가 말해주었나바염 


모르겠고 ssh접속합니당





접속해서 보면 col , col.c flag 파일이 있고 col 에 setuid 가 걸려있슴당 



일단 그냥 col을 한번 실행 시켜 봤씀당 


./col 했을경우 passcode 를 입력하라구 하고 ./col 11 하니까 20바이트여야 댄다고 하네염 


그래서 ./col a 20개 를 넣어주니 틀렸답니당 히히히히




풀기 위해서 소스코드를 보았어요 



가장 주의를 기울여서 봐야 할 부분은 check passcode 함수 부분이에염


저기서 char 형 포인터가 int 형 포인터로 형변환이 일어나고 이써염 이말이 뭐냐면 


AAAABBBBCCCCDDDDEEEE가 만약 입력값(argv[1]) 로 들어 왔다면 


0x41414141 0x42424242 0x43434343 0x44444444 0x45454545 로 변환이 된다는 거에요


그러면


ip[0] = 0x41414141

ip[1] = 0x42424242

ip[2] = 0x43434343

ip[3] = 0x444144444

ip[4] = 0x45454545


넹 ㅇㅇ


이렇게변환해서 포문 돌려서 다 더한값이 hashcode 랑 같아야 해여 


포문 보면 간단하게 5번 더해주고 있자나염 


그래서 여기서 고민을 했어염 어케 해야하나 ...... 그러다가 못풀겠어서 ..ㅠㅠ 인터넷 찾아봤는데 5번 더했으니까 5번 나누면 된다고 했어요


암튼 나눠보니까 0x6C5CEC8 값이 나오네염 


그럼 0x6C5CEC8 이 값을 넣어주면 될꺼라고 생각해써염 


넣어 줬는데 안대여 .. 그래서 또 인터넷 찾아보니까 0x6C5CEC8 이 값에 다시 5를 곱해보면 원래 해쉬코드 보다 4바이트 적게.. 나온다고 하네요 ㄷ ㄷ ㄷ ㄷ ㄷ 


이런거 어케 생각하고 하는거지 


암튼 그래서 0x6C5CEC8 값 *4 랑 0x6C5CECC 한개를 넘겨주면 대여 ! 



그래서 최종 스크립트는 !!!!!!!!!!!!!!!


./col `python -c 'print "\xC8\xCE\xC5\x06"*4 + "\xCC\xCE\xC5\x06"'`


뭐지 터미널에서 긁어오니까 일케대넹 ... 암튼 저거 입니다 !!!!!!!!!



 


'개인공부 > pwnable' 카테고리의 다른 글

[protostar] stack2 문제풀이  (0) 2018.10.14
[protostar] stack1 문제풀이  (0) 2018.09.16
[protostar] stack0 문제풀이  (0) 2018.09.16
[pwnable]pwnable.kr 3번  (0) 2018.09.09
[pwnable]pwnable.kr 1번  (0) 2018.08.24

포너블쩜케이알 1번 문제임 


로그인하면 저렇게 뜸 


터미널로 접속 ㄱㄱ (윈도우 쓰는사람은 putty로 접속,, 다른거 뭐 또 있었는데 뭐였찌 )



접속해서 파일들 보면 fd 랑 fd.c fd.c 랑 flag 이씀 ! 



fd.c 파일을 열어보면 본격적인 문제가 나옴 


코드 내용을 보면 



fd 에 입력값을 받아 atoi 하고 -0x1234(4660) 를 해주고 read 를 함


여기서 봐야할건 read 함수는 인수로 


int fd (파일디스크립터) void * buf (파일을 읽어들일 버퍼) size_t nbytes(버퍼의 크기)  를 가짐

 

//파일 디스크립터란 윈도우의서 HANDLE 처럼 파일에 접근하기 위한 값으로 이해했고 


조금더 사전적 의미로 정의하자면 시스템이 할당하여 준 파일이나 소켓을 대표하는 정수 라고 함 ㅋㅋㅋ 


값은 항상 정해져 있고


0은 표준입력 1은 표준 출력 2는 표준 에러 출력임


음 ....... 그래서 아래 흐름 쭉 보면 if 문을 실행시켜야 플래그값을 으니까 fd 는 0이 되어야 할 거 같고 그래서 표준 입력으로 


LETMEWIN 을 쳐주면 ! strcmp 해서 1이 될테니까 if 문이 실행될고임

 



'개인공부 > pwnable' 카테고리의 다른 글

[protostar] stack2 문제풀이  (0) 2018.10.14
[protostar] stack1 문제풀이  (0) 2018.09.16
[protostar] stack0 문제풀이  (0) 2018.09.16
[pwnable]pwnable.kr 3번  (0) 2018.09.09
[pwnable]pwnable.kr 2번  (0) 2018.09.09

+ Recent posts