목록WarGame_WriteUp (8)
starting point

입력된 시간만큼 타이머가 만들어지는 웹사이트이다. 또한 입력한 시간이 추력되느 것을 알 수 있다. 입력한 시간이 지나면 위와 같은 알림창이 나타난다. html코드를 보면 입력한 숫자가 startTimer()의 매개변수가 되고, 태그의 문자열로 입력되는 것을 볼 수 있다. 태그를 대상으로 우선 공격해 보았다. 스크립트 문이 그대로 출력되며 경고창이 뜨지 않는 것을 볼 수 있다. 태그안에 태그가 그대로 출력된 것을 보면 "

3개의 인덱스를 선택하면 각 인덱스에 해당하는 이미지를 출력해주는 페이지다. 그에 따라 url의 frame#(num1)에서 num1부분이 변화하는 것을 알 수 있다. 그리고 이번 문제는 입력할 수 있는 입력창이 없으므로 url을 이용해야 함을 알 수 있고, 아래의 그림같이 문제의 설명을 통해서도 알 수 있다. 각 인덱스를 선택했을 때 html문서에 어떤 변화가 있는지 살펴보기 위해 개발자 도구를 통해 알아보겠다. onclick속성으로 chooseTab(string)함수가 실행되고 그에 따라 Image (num2)와 cloud(num3)에서 num2, num3부분이 변화하는 것을 알 수 있다. 이를 통해 이 두 부분을 공략해야 함을 알 수 있다. chooseTab()함수가 구현된 것을 보니 전달된 매개변수..

입력한 문자열을 화면에 출력해주는 것처럼 보인다. 1번과 마찬가지로 를 입력하였다. 하지만 아무것도 출력되지 않았다. 이 부분을 확인하기 위해서 개발자도구를 통해 코드를 살펴보았다. 정확하게 태그로 감싸진 스크립트 문이 입력되었지만 코드가 실행되지 않는다. 그렇다면 태그가 아닌 html의 on속성을 이용해서 자바스크립트를 실행시키는 방법을 사용해 볼 수 있다. 를 입력했다. 태그를 이용하여 이미지 로드 시 에러를 유도하고 그 결과로 경고창을 띄우게 했다. 성공적으로 문제를 해결했다. 이 문제에서는 1번 문제에서 발생한 xss취약점을 막기 위해 태그를 사용을 막은 것을 확인할 수 있었다. 하지만 위처럼 html의 on속성을 이용한 자바스크립트를 막는 것에는 역부족임을 확인할 수 있었다. 또한 문자열이 DB..

처음 문제를 보면 위와 같은 입력 창과 버튼이 나온다. 12를 입력하고 버튼을 누르니 내가 입력한 12가 그대로 출력되는 것을 볼 수 있다. 자신이 입력한 부분에 값이 그대로 출력된다는 것은 내가 원하는 코드를 삽입할 수 있는 것을 의미한다. 그래서 가장 기본적인 스크립트 문을 입력했다. 입력했고 나의 생각대로라면 이 코드가 그래도 출력되어서 경고창이 뜰것이다. 성공적으로 문제를 해결했다. 이 문제는 XSS를 소개하는 문제로 가장 기본적인 문제라고 할 수 있다. 이 문제에서 알려준 문제점은 태그를 사용할 수 없도록 필터링하는 것으로 어느정도 해결할 수 있다.