hackctf unexploitable_4

    [HackCTF] Unexploitable_4 (600p) 알아간 내용

    풀이 및 알아간 내용 특이하게 Partial RELRO를 제외하고 모든 보호 기법이 해제되어 있다. s는 [rbp-0x10]에 위치하지만, fgets 에서 0x2C 만큼을 입력받아 BOF가 발생한다. 그런데, RTL Chain을 구성하기에는 너무나도 페이로드의 길이가 짧아질 것이다. 우리는 여기서 SFP를 Control 하여 fgets의 rsi 인자를 수정할 것이고, RET로 fgets의 인자가 setting 되는 주소로 돌아가 필요한 만큼 재입력을 받을 것이다. SFP를 수정한 채로 RET로 돌아가면 fgets의 rsi가 [rbp-0x10]을 가리키고 있기 때문에 원하는 주소에 값을 적어줄 수 있다. 해당 문제에서는 RWX가 켜져 있으므로 bss 근처에다 입력을 받으면 될 듯하다. 입력받는 값은 NX가..