본문 바로가기

Wargame/Pwnable.kr

Pwnable.kr collision-3pt

 col.c 소스 코드의 중요한 부분은 위와 같음. check_password()함수의 반환값과 표시한 hashcode 값 0x21DD09EC와 같으면 flag를 출력해준다.


  argv[1]로 전달한 20 byte 짜리 문자열을 전달하고 이를 int형 포인터 변수로 가리켜 res변수에 5번 더해준다.


  명시적 형변환과 char형 포인터 변수와 int형 포인터 변수의 차이점만 알면 아주 쉽게 풀 수 있다. 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  위와 같은 20 byte 배열을 int형 포인터 변수로 가리키게 되면...


 

 

 

 

 

  이렇게 보이게 되것지... ip[0]부터 한칸씩이다. 익스 ㄱㄱ





  간단하다. 걍 hashcode 나누기 5해서 더하며 끝... 나머지 있으므로 신경쓰면 됌..






  flag 짜잔~~

'Wargame > Pwnable.kr' 카테고리의 다른 글

Pwnable.kr mistake-1pt  (0) 2017.04.13
Pwnable.kr random-1pt  (0) 2017.04.13
Pwnable.kr flag-7pt  (0) 2017.04.12
Pwnable.kr bof-5pt  (0) 2017.04.12
Pwnable.kr fd-1pt  (0) 2017.04.11