OWASP WebGoat
Buffer Overflows - Off-by-One Overflows
Buffer Overflows 카테고리로 넘어왔습니다. 웹앱 내에서의 BOF를 다룰 것 같네요. 지문을 보도록 합시다.
지문을 확인 해 보니 VIP 손님이 묵는 곳이 어떤 방인 지 찾아내라고 합니다.
별다른 힌트가 없으니 소스 코드 상에 뭔가 있을 것 같습니다. [Java Source]를 눌러 소스를 확인 해 보도록 하겠습니다.
쭉 훑어 보니 param3의 길이가 4096을 넘어 갈 때 VIP의 이름과 방 번호를 뱉어내는 분기문이 있습니다.
위 쪽의 체크 박스를 확인 해 보면 Param1, Param2, Param3는 각각 First Name, Last Name, Room Number를 나타내는 것을 알 수 있습니다.
여기서 소스 상에 나타난 First Name과 Last Name, Room Number를 이용하여 바로 세션을 패스 할 수도 있겠지만, 정석으로 풀어내기 위해 Room Number에 4096을 넘어가는 길이의 값을 넣어보도록 합시다.
python을 이용해 4097개의 문자열을 만들었습니다.
자, 그럼 이 값을 복사 해 둡시다.
위에서 복사한 값을 Room Number에 기입 해 주고 Submit을 해줍니다.
이 곳은 별 다른 의미가 없으니 바로 Accept 해줍시다.
의도 한 대로 문구가 나타났습니다. 세션을 완료하기 위해 Restart 후 첫 번째 VIP의 이름과 방 번호를 입력 해 봅시다.
Johnathan/Ravern/4321을 기입해 준 후 Submit을 눌러주면
짠! 끝났습니다.
'Wargame > WebGoat 7.0.1' 카테고리의 다른 글
OWASP WebGoat [Authentication Flaws - Multi Level Login 2] (0) | 2016.04.04 |
---|---|
OWASP WebGoat [Authentication Flaws - Multi Level Login 1] (0) | 2016.04.04 |
OWASP WebGoat [Authentication Flaws - Forgot Password] (0) | 2016.04.02 |
OWASP WebGoat [Authentication Flaws - Password Strength] (0) | 2016.04.02 |