Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 버그헌팅
- 워게임
- 해킹
- 버그바운티
- WarGame
- 네퓨즈
- 정보보안
- C언어
- wargame.kr
- 포렌식
- webhacking.kr
- xcz
- 웹해킹
- 문제풀이
- DVP
- CTF
- 자료구조
- kangsecu
- nefus
- 정보보호
- 선린인터넷고등학교
- 포너블
- 코드게이트
- 블록체인
- hacking
- 프로그래밍
- Pwnable
- 보안
- 시스템
- webhacking
Archives
- Today
- Total
kangsecu's B1og
[webhacking.kr]pro 14 문제풀이 본문
[webhacking.kr]에 pro 14번 문제를 풀어보도록 하겠습니다. (사실 이미 오래전에 풀었지만 이제야 풀이를 올립니다.)
문제에 들어가면 아래사진과 같이 출력됩니다.
이렇게 아무것도 없이 입력폼과 check버튼만 있습니다. 사실 웹이 핵게싱인 이유도 블랙박스문제에 이러한 문제형식에서 나온거죠..
이게 뭔가 하고 보다가 url을 보니 javascript가 있어서 코드를 확인해보았습니다.
코드를 분석해보면, ul이라는 변수를 선언하고 거기에 document.URL값을 넣습니다. 여기서 document.URL은 현재 웹사이트의 url을 말합니다.
그리고 index0f는 ul에 들어있는 현주소값에 .kr이라는 문자열이 몇번째 순서에 위치하여 있는지를 다시 ul에 넣습니다.
그리고 ul*30으로 현재 ul에 들어있는 값에 30을 곱한 후, 다시 ul에 넣습니다.
그 후, if문을 통하여 ul의 값이 현재 입력폼에 있는 pw.input_pwd.value값과 같으면 password를 줍니다.
그리고 만약 다르다면 wrong을 출력합니다.
Exploit(이라고 하기도 뭐하네..)
현주소에 .kr의 위치를 보니 18번째에 있습니다. 하지만 index0f는 배열과 같이 첫번째 들어가는 값은 0으로 보기 때문에 실제 ul에는 17이란 값이 들어간 후, ul*30에서 510이라는 값이됩니다. 그럼 이제 입력폼에 510을 입력합니다.
이렇게 password를 줍니다.
webhacking.kr pro 14 Clear!
'Web Hacking > webhakcing.kr' 카테고리의 다른 글
[webhacking.kr]pro 4 문제풀이 (0) | 2018.02.22 |
---|---|
[webhacking.kr] pro 18 문제풀이 (0) | 2018.02.20 |
[webhacking.kr]pro 28 문제풀이 (0) | 2018.02.01 |
[webhacking.kr]pro34 문제풀이 (0) | 2018.02.01 |
[Webhacking.kr] pro45 문제풀이 (0) | 2018.02.01 |