War Game/LOB
[War Game] LOB giant
guswlsdk
2018. 2. 27. 14:20
반응형
LOB giant
ret에 들어갈 최상위 비트가 \xbf 또는 \x40이 될 수 없다.
이 두 조건 이외의 ret에 관련된 다른 조건이 없으므로
이 부분만 우회하면 된다.
ret 주소에 ret 주소를 넣어주면 우회할 수 있다.
그러면 그냥 ret을 한번 더 실행한다.
그리고 argv[] 영역을 이용해 쉘코드 넣어주자.
페이로드는 이렇게 구성될 것이다.
[ ebp+44 ] [ ret ] [ ret ] [ argv[2] ] [ shellcode ]
ret 값에 ret이 시작되는 주소를 넣으면
또 ret이 실행되고 그 다음 주소로 리턴된다.
여기서 그 다음 주소는 argv[2]이다.
다음은 ret 주소이다.
argv[2]의 주소 오류
성공
페이로드 작성
system 함수를 이용할 수도 있다.
반응형