[어설픈] webhaacking.kr 58번 문제풀이

2019. 1. 8. 16:16Web Hacking/Webhacking.kr


안녕하세요!

오늘도 비교적 쉬운

150점 짜리 문제


58번 풀이 진행하도록 하겠습니다!


우선 문제를 클릭해서 들어가니

아래와 같이 뜨네요!


처음에 보고 자바스크립트인가?

뭐지?

하고 생각했습니다.


일단 pw가 있으니

패스워드를 입력하라고 하는 거겠죠?



그래서 아래와 같이 뭐 

admin 입력한 번 해봤습니다!


그랬더니 아래와 같이 뜨네요!


그래서 몇 개 더 입력해봤습니다!

'도 입력해보고 "도 입력해보고


근데 모두 wrong이라고만 

출력되고 제가 힌트로

얻을수 있는 것들이

하나도 없었습니다!


 




그래서 저는 오랜만에 F12를 눌러서

어떤 소스코드로 되어있나

한번 확인해 보았습니다!


근데 소스코드도 뭐 간단하네요!

다른건 특이한게 없는데!


hackme.swf가 보이죠?


날 해킹해 달라고 애원하고 있죠?

오키 바로 해킹하러 갑시다!


근데 어케 해킹을.... 해야하지....?


hackme.swf을 좀 더 자세히

보고싶은데, 뭐 건드릴 수도 없고!


근데 hackme.swf 소스에 마우스 커서를

가져다 대면!

주소가 나옵니다!




그래서 저 주소

http://webhacking.kr/challenge/web/web-35/hackme.swf를

url 창에다가 입력하니!


파일을 다운로드 받을 수 있었습니다!

그래서 제 컴퓨터에 해당 파일을 저장했습니다!


※어떻게 이렇게 해야하는 줄 알았냐?

- 아니 뭐 javascript도 아닌거 같고(코드에 별로 눈에 걸리는게 없음)

- 그렇다고 sql injection도 아닌거 같고( syntax error나 그런 것도 안뜨고)

-php도 아닌거 같고(GET 방식이나 POST 방식도 아닌거 같고)


결정적으로 hackme의 파일의 확장자가 swf이기 때문에!!!

아 저놈 가지고 뭘 해야겠다!

생각했습니다!


근데 파일을 다운로드해서 오픈을 하려고 했는데!

뭐 열수있는 프로그램이 없네요!


그래서 저도 여기서 오픈해야하는

프로그램을 뭘 쓸지 몰라서

인터넷에 검색해 봤습니다!


그러면서 동시에 swf 파일에 대해서도 검색을 해봤구요!


그랬더니!

인터넷 검색을 통해서 얻은 결과!


우선 

(1) http://www.sothink.com/product/flashdecompiler

여기에 가서 swf 파일 decompiler를 다운받았습니다!

그래야 파일 분석을 더 깊게 할 수 있으니까요!

(파일을 까봐야 알죠...)


(2) swf파일의 경우

action(동작) 부분을 보면

어떻게 작동되고 코드가 보인다고 

거기에 저희가 찾는게 있을꺼라고!


그래서 decompiler를 실행시키고 


오른쪽 부분을 보시면

hackme.swf을


모양,글꼴,텍스트,버튼,프레임,동작


이렇게 나뉘어진 것을 볼 수 있습니다!


그래서 망설임 없이 바로 

동작버튼을 누르니까


아래와 같이 바로 코드가 뜨네요!


if(pw=="10;(_") 











뭐 사실상 답이 바로 보였으니 

더이상 설명 할 것도 없죠?


코드를 보니 바로 답이 보이네요!

pw에다가 10;(_를 입력하니


아래와 같이 문제가 풀립니다!


생각보다 어떻게 접근하는지만 알면

쉽게 풀리는 문제였습니다!


※ 웹해킹 문제들을 처음 접하거나

접해보신지 얼마 안된분들은

매우 당황스러울 수 있을 거에요!


근데 웹해킹 문제들 푸실때

(1) 처음보는 파일명이나

(2) 처음보는 방식의 인코딩

(3) 처음보는 언어로 된 함수

이런게 나오면 


모두 구글링 하면 나오십니다!

(예시: php 함수 취약점, javascript 우회, swf 취약점/파일열기)



웹해킹 문제들은 다양하게 낼 수 있기때문에

내가 생각한 접근방법이 틀릴수도 있다고

유연하게 사고하셔야 합니다!


그럼 오늘도 고생하셨습니다!