728x90

이번에는 bash2를 안까먹고 먼저 넣어주었다.

orc파일을 보면, egghunter이라는게 적혀있는데, 환경변수를 이용할 수 없다는 뜻이다.

다음 for문을 보면, argv[1][47] 항목이 \xbf이어야 한다고 나와있다.

만약 bf가 아니면 stack이랑 손절할 수 없다고 하네

 

환경변수를 이용할 수 없으니깐 nop슬라이드에 shell코드를 태워주고 마지막에 buffer주소를 넣어주자.

전체 바이트 48에서 48-25=23이므로 마지막에 buffer주소를 넣어줄 4바이트를 제외한 19바이트로 nop슬라이드를 

태워주면 될것 같다.

 

우선 shell코드는 있으니깐 buffer주소를 찾아보자.

지금 내가 알고있는 buffer주소를 찾는 방법은 3가지가 있다.

첫번째는 어셈으로 뒤집어서 b를 걸어주고 주소를 찾는방법, 

두번째는 기존 c파일에 필요한 구문을 추가하여서 구하는 방법, 

마지막으로는 core파일을 이용하는 방법이다. 

 

첫번째 방법

첫번째 방법은 오류가 나왔다. segmentation fault 혹은 illegal instruction 에러가 뜨는 경우는 다양한 이유가 있겠지만, 

지금 내 환경에선 주소를 잘못지정했을 가능성이 높다.

 

두번째 방법

두번째 방법 역시 실패했다. 

3번째 방법

코어를 분석하는게 그나마 정확한 주소를 알수 있는것 같다.

그렇다고 한 우물만 파지 말고 다양한 도구를 알아가는게 좋을것 같다.

 

 

 

728x90

'pwnable > LOB' 카테고리의 다른 글

LOB 6번  (0) 2020.07.25
LOB 5번  (0) 2020.07.22
LOB 3번  (0) 2020.07.19
LOB 2번  (0) 2020.07.12
LOB 1번  (0) 2020.07.11

+ Recent posts