본문 바로가기

호그와트

레나 튜토리얼 재밌엉

728x90

아마 레나 튜토리얼 첫 번째 건가 그렇습니다

이 내용보다는 다른 분들의 내용을 참고하기를 추천드립니다

왜냐면 다른 분들의 내용이 더 깔끔하기 때문입니다

솔직히 처음 볼 때는 감이 안 잡히는 게 많았는데

다시 보면서 직접 해보니 감을 잡을 수 있었다

주어진 파일을 잘 보면

결국엔 원하는 값에 도달하기를 원한다는 것을 알 수 있다

DE 204000에서 "you did it well!! congratz !!" 뭐 대충 이런 값이 나오는데 이 값이 최종 플래그라고 할 수 있다

그런데 코드를 자세히 보면 여기에 도달하는데

총 2가지의 장애물이 있다

1번째 장애물은 messagebox라고 하면서 나오는

점프 문 안에 있는 무언가이다

그런데 이 점프 문은 ZF값에 따라 점프를 할 지 안 할 지 결정하므로

점프문을 더블클릭해서 중단점으로 삼고(F2)

F8을 눌러서 계속 프로그램을 진행시키면서

점프문 바로 앞에서 ZF 값을 더블클릭하여 값을 변경시키면

점프문을 무사히 넘겨서 messagebox를 피해서 원하는 최종 플래그를 향해서 계속 직진할 수 있다

물론 분석중에는 위에처럼 할 수 있지만

1번째 애를 클릭한 후에 스페이스바를 누르면 변경할 수 있는 값이

뜨는데 jne에서 jmp로 변경시켜주면 ZF값에 상관없이

무조건 점프해준다

그리고 약간의 실험정신을 발휘해서 2번째 장애물은

중간에 있는 jmp문을 낚아서 바로 (즉 장애물 자체를 회피해서)

원하는 결과값이 있는 곳으로 보내려고 시도해보았으나

(설명에 나와있는대로) 디버깅이 중지되면서 꺼지는 결과를 가져오게 되었다 진짜 거의 다 왔다

2 조금 더 깊이 가서 messageboxA로 가는 점프문을 전부 다 없애주고 (여러 개) 결국엔 congratz로 가는 점프문만을 살려서 간단히 해결해보려고 했으나 계속해서 예외가 발생한다

약간 불도저 식이긴 한데 예외 처리 되는 것들에 하나씩 다 스페이스바를 눌러서 nop을 넣어서 처리해주었다 그랬더니 함수 자체가 없어지므로 예외가 발생하지 않아

원하는 점프문까지 직진할 수 있었다

congratz!!! 플래그를 얻었다

728x90

'호그와트' 카테고리의 다른 글

드림핵 csrf-2 풀이  (0) 2021.10.22
드림핵 크롤링 풀이  (0) 2021.10.22
웹해킹 12번 문제  (0) 2021.10.16
웹해킹 27번 문제  (0) 2021.10.16
웹해킹 18번 문제  (0) 2021.10.16