본문 바로가기

Webhacking/Xss game

(3)
[Xss game 3번] 문제 풀이 Xss game 3번 문제를 풀어보도록 하겠습니다. Mission Objective를 보면 역시나 alert를 실행시키면 성공입니다. 이번 문제의 특이한 점은 바로 사용자가 입력할 수 있는 공간이 없다는 것입니다. 하지만 image버튼들을 잘 누르다보면 중요한 점을 알아낼 수 있는데요 바로 URI 맨 끝 번호와 이미지의 번호가 일치한다는 점 입니다. URI 맨 끝에있는 번호를 test로 바꾸고 Go 버튼을 누르자 Image가 NaN으로 바뀌면서 아무런 이미지를 불러오지 못함을 확인할 수 있습니다. 이를통해, URI의 맨 끝에 있는 데이터가 이미지 태그에 연관되어 있음을 추측할 수 있습니다. 3번문제만에 드디어 사용하게 되는 개발자 도구! 우선 나타나지 않는 이미지 위에서 오른쪽 마우스를 클릭한 뒤 검사 ..
[Xss game 2번] 문제 풀이 Xss game 2번 문제를 풀어보도록 하겠습니다. Misson Objective를 보면 역시나 alert() 함수를 실행시키면 된다고 써져있습니다. 자 아래 타겟 브라우저에 열려있는 level2 사이트를 보면 뭔가 sns 처럼 생겼습니다. test라고 입력하고 share status 해보겠습니다. test를 입력하니, 입력한 데이터가 저장되어 sns처럼 계속해서 공유가 됨을 확인할 수 있었습니다. 이를 통해 알 수 있는점 두가지가 있죠 1. 사용자의 입력값을 서버에서 저장한다. 2. 사용자의 입력값을 서버에서 응답하여 화면에 노출한다 이걸 잘 생각해보면 간단합니다 'Stored XSS'를 위한 전제조건이 성립한다. "Stored XSS를 이용하여 alert() 함수를 실행하면 되겠다" 라는 생각을 할 ..
[Xss game 1번] 문제 풀이 Xss game 1번 문제를 풀어보도록 하겠습니다. Misson Objective, 즉 이번 문제의 목표를 보시면, "Javascrpt alert()함수를 실행시켜라"라고 되어있습니다. 즉 XSS 공격을 통해 Javascript alert()함수를 실행시키면 풀리는 문제가 되겠습니다. (이후 문제들도 동일!) 공격을 해야하는 테스트용 브라우저를 보시면 무언가 입력할 수 있는 공간을 제공하고 있습니다. 저 공간에 test라고 입력하고 search 버튼을 입력해 보겠습니다. 입력 결과를 보면 두가지를 알 수 있습니다. 1. query라는 파라미터에 사용자의 입력값을 넣어 GET 방식으로 서버에게 요청한다 2. 서버는 query 파라미터로 전달받은 사용자의 입력값을 응답값에 포함하여 화면에 출력한다 위 2개 ..