일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Dremhack
- SuNiNaTas
- File Upload Vulnerability
- XSS
- Remote File Inclusion
- Cross Site Scripting
- DOM-Based XSS
- Los
- Hackerfactory
- 드림핵
- DVWA
- DreamHack
- 정보보호
- 워게임
- 써니나타스
- Insecure CAPTCHA
- 해커팩토리
- Lord of SQL Injection
- 웹 해킹
- Web Hacking
- wargame
- H4CKINGGAME
- webhacking.kr
- 정보보안
- 빡공팟 4기
- Weak Session IDs
- bypass CAPTCHA
- TeamH4C
- sql injection
- 빡공팟 6기
- Today
- Total
도카이트
[DVWA] JavaScript (Medium) 본문
페이지 화면
- 소스코드를 확인해보자 !
소스코드
- medium.php의 경우 medium.js를 참조하고 있는 코드므로 medium.js 를 살펴보자.
- 사실 딱 보고.. 이게 뭐지 ? 하고 당황스러웠다.
- 일단 이렇게 보는게 가독성이 너무 안좋아서.. 침착하게 IDE에 복붙해서 다시 살펴봤다.
medium.js 소스코드
- setTimeout 함수에 눈길이 많이 간다..
- do_elsesomething 함수를 300초 후에 실행하도록 설정되어 있다.
- token 값을 do_something 함수를 통해 phrase 문자열에 대응하여 설정하는 듯 하다.
- 즉, XX[phrase 값에 따라 변화]XX 형태로 token 값이 새로 설정되며..
- 이는 300초 후에 do_elsesomething 함수가 실행되며 token 값이 재설정된다.
그럼 정리를 해보자면.. 우리가 시도해야 하는 과정은…
- phrase 값으로 success 를 입력한 후..
- 300초 (5분) 을 기다린 후에..
- do_elsesomething 함수가 실행되어 token 값이 바뀌면 ..
- submit을 하여 문제를 해결하면 되는 듯 하다 !
그러나, 우리는 300초를 기다릴 여유가 없다. 그러므로 setTimeout에 작성한 300 값은
개발자 도구를 통해서 값을 변조하여 즉시 토큰값이 바뀔 수 있도록 하자 !
1. success 문자열 입력 후 토큰 값 확인
- token 값이 입력되어 있는 코드행은 Phrase 입력 폼을 우클릭하여 검사 버튼을 클릭하면 확인할 수 있다 !
- token 값으로 XXeMegnahCXX 이 설정되어 있는 것을 확인할 수 있다.
2. Console 탭에서 medium.js 코드 변조 후 실행
- setTimeout 함수의 값을 300에서 1로 변조하여 스크립트를 실행한다.
3. Token 값 변경 확인 후 Submit
- Console 탭에서 변조한 스크립트를 실행 후 Token 값을 확인해본다.
- Token 값이 XXsseccusXX 로 변경되어 있는 것을 확인할 수 있다!
- 이후 Submit을 클릭하면 Well done! 이 출력되며 문제를 해결할 수 있다 !!
이로써 DVWA의 Medium 난이도까지 전부 해결했다 !! Low에서 시작해서 어느덧 Medium까지 포스팅을다 작성하다니.. 소소하게 뿌듯하면서도, 웹 해킹에 대한 기초를 어느 정도 쌓은 것 같아서 보람차다! 공격에 대한 기본 개념만 알고 있다면 성공시킬 수 있는 Low와는 다르게 Medium 난이도에서는 나름 간단한 수준의 우회 방법을 터득할 수 있었고, 이를 우회하는 과정들을 통해서 좀 더 생각의 폭을 넓히고 창의성을 높힐 수 있었던 것 같다. 하면 할 수록 재밌으면서도 점점 어려워지는게 느껴진다! 앞으로도 열심히 달려야겠다 :)
'Web > DVWA' 카테고리의 다른 글
[DVWA] CSP Bypass (Medium) (0) | 2022.05.27 |
---|---|
[DVWA] Stored XSS (Medium) (0) | 2022.05.27 |
[DVWA] Reflected XSS (Medium) (0) | 2022.05.27 |
[DVWA] DOM-Based XSS (Medium) (0) | 2022.05.26 |
[DVWA] Weak Session IDs (Medium) (0) | 2022.05.26 |