Natas 4 -> 5
5번 문제의 화면이다. 그냥 새로고침 페이지 하나가 보이고
엑세스가 허용안되었다. natas5로 부터 승인 받은자만 허용한다?
라고나온다.
소스분석을 보아도 특별한 것이 보이지 않는다...
새로고침을 눌러보니 역시 natas4 는 natas5로부터 접속해야지만 된다.
라는 말이 나온다.. 그럼.. 즉 natas5에서 natas4로 접속했다고 속여야 된다는 말이다!
여기서부터 네트워크 지식이 필요한대.. 아직 본격적인 공부를 못한 부분이라.. 조금 도움을 받았다.
속이기 위해서는 프록시 서버를 통해서 잠시 페이지를 잡아 놓아야한다.
그리고 natas5에서 보낸것처럼 속여야한다.
그럼 여기서 필요한건 하나의 툴인대...
Burp Suite 라는 프록시 서버 까진 아니고 비슷한 역할을 하는 툴이라고 생각하면된다.
다운을 완료 하면 위와같은 화면이 나오는대 위에 보면
proxy 사용이 가능하고 중간에 페이지를 인터셉트 하는 것도 보인다.
자그럼 프록시를 사용하기 위해서는 설정이 필요한대...
크롬 같은경우는 설정 에 들어가면 위와같이 프록시 설정이 나오고
아니면 네트워크 환경에서 역시 가능
LAN 설정 클릭
내부 ip로 변경하고 포트 지정해주면 준비 끝
자그럼 신호를 보내보자
여기서 중요한건 새로고침의 링크를 타고 정보를 보내야 한다.
그래야지만 위와같이 Referer 헤더값이 나온다.
Referer 헤더값은 링크를 통해서 왔을 경우에만 나타는 헤더값으로
이것을 우회해서 natas5 에서 접속한 것처럼 변경한뒤 신호를
다시 보내면....
클리어!
natas5 : iX6IOfmpN7AYOQGPwtn3fXpbaJVJcHfq
Natas 5 -> 6
logged 가 되어 있지 않아서 승인되지 않습니다....
여기서 추측할수 있는 것은 서버 측에서 어떤식으로 logged 를 판단 하는지이다.
보통 우리가 생각 할 수 있는 방식은.. 세션 or 쿠키 정도인대..
그럼 확인해보자
역시나 logged 라는 변수가 존재 0 인것을 보니 false 같으니
1로 변경해서... 보내보면
역시나 클리어
natas6 : aGoY4q2Dc6MgDq4oL4YtoKtyAg9PeHa1
Natas 6 -> 7
오 이번페이지는 소스보기가 들어가져 있다. 저 링크를 통해서 한번 소스를 분석해보자.
자 소스보기 링크를 따라서 와보니 php 소스 조차 볼수있다!!
php 소스를 분석해보면 $secret 변수의 값과 일치해야한다고 나온다...
그럼 $secret 값은 어디에있지? 찾아보다가...
위에 include 로 다른 파일에서 가져온다는 것을 추측할수 있다!
해당 파일로 들어가 보았더니 역시나...
변수의 값이 나와있었다..
대입해보니 클리어!
natas7 : 7z3hEENjQtflzgnT29q7wAvMNfZdh0i9
Natas 7 -> 8
Home, About 버튼이 있고 클릭시 위와같이
Get 방식으로 페이지를 이동시키고 있는 것을 확인 할 수 있었다.
그럼 일단소스를 분석하러 소스보기를 했더나...
주석에 힌트를 딱 주어주었다....
힌트는 /etc/natas_webpass/natas8 이 경로에 답이 있다는것..!
잠깐.. Home , About을 Get 방식으로 페이지를 이동 시켰으니.. 혹시?
page 의 값의 저 경로를 넣어보면?
역시나 답이 나왔다!!
natas8 : DBfUBfqQG69KvJvJ1iAbMoIpwSNQ9bWe
Natas 8 -> 9
자 소스보기로 ㄱㄱ
소스를 분석해보니 내가 시크릿값을 post 형식으로 넘기면
그것을 암호화 해주는 함수에서 암호화 한것의 값과 $encodedSecret 의 변수와 일치시
다음 레벨의 비밀번호를 얻을 수있다...
즉 반대로 생각하면
저 변수의 값을 복호화 하면 반대로 내가 대입해야할 값을 알 수 있다는것!
즉 복호화 문제이다
요즘은 구글에다가 원하는 함수 + Online 만 치면 이런식으로
바로 사용할 수 있도록 만들어져 있다...
그럼 첫번째로 할것은
가장 바깥 쪽에 있는것부터 해주어야한다. 복호화는 암호화의 반대임으로!!
bin2hex부터 텍스트 형식으로 다시 바꾸어주고!
그렇게 얻은 변수를 순서를 반대로 해주는 함수로
반대로 해준뒤
base64 로 암호화 되있던것을 복호화 해주면 위와같은 변수를 획득
즉 시크릿 값을 획득!!
대입해주면 클리어!!
natas9 : W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl
'WEB_Security(실습) > Natas' 카테고리의 다른 글
Natas (17~20 ) (0) | 2017.06.23 |
---|---|
Natas (14~16) (0) | 2017.06.22 |
Natas(12~ 13) (0) | 2017.06.21 |
Natas(9~11) (0) | 2017.06.20 |
Natas : Over The Wire ( wargame ) (1~4) (0) | 2017.06.15 |
댓글