티스토리 뷰

SQL injection/webhacking

webhacking 54번

ys.k 2022. 8. 21. 10:10

포스팅에 앞서 내용이 틀릴 수도 있으며, 해당 부분 지적은 감사히 받겠습니다.

54번 문제이다.

문제에 접속하면, 빠른 속도로 flag가 한 글자씩 나오게 된다.

스크립트를 조작하여 flag를 보기 쉽게 만드는 문제인 것 같다.

스크립트를 보자.

스크립트엔 2개의 함수가 정의되어있다.

한번 콘솔을 통해 각 함수를 실행해보자.

run() 함수의 실행결과이다.

우리가 원하는 건 아닌 듯하다.

숫자 42를 출력하며, flag가 다시 한번 한 글자씩 출력되었다.

우리는 이 부분을 수정하여 원하는 값을 얻어낼 수 있다.

함수를 조금 바꿔보자.

2줄의 소스코드 수정 후 원하는 결과를 깔끔하게 얻을 수 있었다.

1. aview.innerHTML = x.responseText;                 ->  aview.innerHTML += x.responseText;

2. if(x.responseText=="") aview.innerHTML="?";  -> 삭제

첫 번째 과정에선, 새로운 글자가 업로드될 때마다 기존의 문자열에 추가할 수 있도록 하였다.

두 번째 과정은 응답 문자열이 없으면 aview.innterHTML부분을 ? 문자열로 치환하는데, 그 부분을 삭제함으로 써 문자열이 초기화되지 않도록 하였다.

FLAG{a7981201c48d0ece288afd01ca43c55b}

검증해보자.

문제 해결

시행착오

1. 스크립트를 콘솔 창에서 테스트할 땐, 함수 정의를 새로 해줘야 한다.

 

'SQL injection > webhacking' 카테고리의 다른 글

webhacking 56번  (0) 2022.08.21
webhacking 55번  (0) 2022.08.21
webhacking 53번  (0) 2022.08.21
webhacking 51번  (0) 2022.08.19
webhacking 50번  (0) 2022.08.15
댓글