접속해서 코드를 읽어봤다. 바이너리를 실행시켜보면, segmentation fault가 난다. 문제에서 compiler warning이 떴는데 무시했다고 한다. 그래서 로컬에 하나 만들어서 컴파일 해보았다. 보면 &가 빠져있다. 주소를 쓰는 게 아니라 값을 주소처럼 써버려서 segmentation fault가 나는 것 같다. 만약 이때 passcode1의 값을 변조할 수 있다면, 임의 주소에 마음대로 쓸 수 있다. PIE가 걸려있지 않고 Partial RELRO가 걸려있다. 카나리가 있으니 welcome 함수에서 bof를 터뜨려서 ret를 변조하는 것을 힘들어 보인다. base가 고정이라서 원하는 곳으로 eip를 변조하기 수월하고, Partial RELRO가 걸려있으니 got를 덮는 것을 고려해볼 수 있..