c1 - exercise5

두비니

·

2020. 10. 16. 20:43

 

 

 

 

 

 

 

 

오 좀 다른 양상! 좋습니다

 

 

먼저 read_flag()를 시키는데, flag.txt를 &g_buf에 저장하네요.

 

g_buf의 위치입니당

 

 

그다음에는 get_function()을 통해 write함수의 주소를 불러오네영

 

 

그러면 지금 필요한건 &g_buf에 있는 flag를 출력시키는 거니깐, rtl을 이용하도록 하겠습니다.

 

대놓고 실행시키면 write함수의 주소를 주니깐 이걸로 puts를 구하고, puts함수에 인자를 &g_buf로 줘서 리턴하면 되겠죠?

 

 

그럼 페이로드는

 

"A"*0x4c + puts_addr + "A"*4 + &g_buf

 

 

puts = write - 480096

 

 

 

 

 

ㅋㅋㅋㅋㅋflag는 그냥 제가 임의로 만들었어영

어차피 flag읽는게 목표라 EOF터져도 됨!

 

 

'War Games > training_prob' 카테고리의 다른 글

c1 - exercise7  (0) 2020.11.29
c1 - exercise6  (1) 2020.10.18
c1 - exercise4  (0) 2020.10.15
c1 - exercise3  (0) 2020.10.14
c1 - exercise2  (0) 2020.10.14