일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- stack overflow
- webhacking.kr
- 해킹
- Pwnable.kr
- Spring
- system hacking
- Operating System
- 정보보안기사 실기
- SQL
- hacking
- PWN
- Lord of BOF
- 정보보안기사
- BOF
- 워게임
- Buffer Overflow
- Spring MVC
- Payload
- 운영체제
- wargame
- System
- LOB
- Shell code
- 네트워크
- OS
- 웹해킹
- 정보처리기사 실기
- webhacking
- Spring Framework
- pwnable
- Today
- Total
DongDD's IT
[webhacking.kr] Level 20 본문
[webhacking.kr] Level 20
문제에 들어가보니 몇개의 입력 창이 있었고 위에 time limit : 2라는 표시와 함께 javascript challenge라는 문구가 써있었다. 일단 아무 값이나 입력해보았다.
제출을 누르자마자 code부분에 있는 값이 바뀌고 Wrong이 나온 후 다시 code값이 바뀌는 것을 볼 수 있었다.
느낌이 time limit : 2 라는 것이 2초안에 제대로 된 값을 입력한 후 제출하면 통과할 수 있을 것 같았다.
크롬에 있는 개발자 도구로 자바스크립트를 중단 시킨 후 실행 해보았지만 통과할 수 없었다.
코드를 보니 다음과 같이 스크립트가 있었다. id와 cmt와 hack에 값을 넣어야하고 code와 일치한 후 제출하는 방법이였다.
이 것을 2초만에 해내야하는 그런 문제였다.
소스 코드를 보다가 시간을 어떻게 측정하는 지 안 나와있어서 쿠키를 보니 페이지에 들어온 시간을 기록하는 값으로 되어있었다.
이 것을 보고 쿠키를 수정하면 통과할 수 있을 거란 생각이 들었다.
쿠키에 있는 시간 값을 어느 정도 증가 시킨 후에 타이밍에 맞춰서 제출을 누르면 통과할 것 같았다.
쿠키에 있는 값이 1초에 얼마나 증가하는지 대략 측정한 후에 10~20정도 증가시키고 몇 초후에 submit을 클릭하니 통과할 수 있었다.
풀고 나서 이 문제가 왜 자바스크립트를 이용하는 문제인지 이해가 안가서 자바스크립트를 쓰는 다른 방법을 생각해 보았다.
자바 스크립트를 활용해서 어떻게 풀까라고 생각해보다가 방법이 생각나서 시도해보니 다른 방법으로도 통과할 수 있었다.
자바 스크립트를 이용해 해당 값들을 넣어준 후 submit해주면 되는 방법으로 시도해보았다.
이 문제를 풀면서 해답은 여러가지 방법이 있다는 것을 알게 되었다. 쿠키 값을 수정하는 방법은 자바스크립트를 쓰는 방법은 아니지만 새로운 방법으로 통과할 수 있었다는 점에서 기분이 좋았다.
해결한 두 가지 방법을 Answer & Flag에 작성했다.
************** Answer & Flag **************
쿠키 값의 시간을 조정한 후 풀어서 해답을 얻어냈다. 그 이후에 자바스크립트를 활용해 다른 방법으로 풀어보았다.
lv5frm.id.value ="aa";
lv5frm.cmt.value = "bb";
lv5frm.hack.value = lv5frm.attackme.value;
lv5frm.submit();
를 콘솔에 넣어줘서 한번에 값을 입력하고 submit을 제출하는 방법이었다.
새로고침하고 바로 입력해주니 통과할 수 있었다.
'Wargame > webhacking.kr' 카테고리의 다른 글
[webhacking.kr] Level 32 (0) | 2017.09.11 |
---|---|
[webhacking.kr] Level 25 (0) | 2017.09.11 |
[webhacking.kr] Level 23 (0) | 2017.09.08 |
[webhacking.kr] Level 6 (0) | 2017.09.07 |
[webhacking.kr] Level 33 (9~10) - END (0) | 2017.09.03 |