Wargame/natas 29

Natas Level 28 풀이

Username: natas28URL: http://natas28.natas.labs.overthewire.org 이번엔 소스코드를 주지 않고, 검색창만 있다. joke를 입력해보니 아래와 같은 조크가 나왔다. 저 개그문 설마? 했는데... 설마가 맞았다. 개노잼개그 지피티 말로는 이 개그랑 한 쌍으로 "I’d tell you a TCP joke, but I’d have to keep repeating it until you got it." 도 있다고 한다. ack를 못 받으면 패킷이 누락된 걸로 판단하고 재전송하는 TCP 특징을 이용한 개그... 싱겁다 싱거워 history를 보니, 입력한 값이 query 파라미터로 들어가는데, 바로 암호화되는 것 같다.이 암호문이 서버에서 복호화..

Wargame/natas 2025.05.24

Natas Level 25 풀이

Username: natas25URL: http://natas25.natas.labs.overthewire.org   배드 보이 버비의 인용문이 있다.   언어를 독일어랑 영어로 설정할 수 있는데, 아래와 같이 lang 파라미터가 붙는다.   소스코드를 보면,    // cheers and     // - morla     function setLanguage(){        /* language setup */        if(array_key_exists("lang",$_REQUEST))            if(safeinclude("language/" . $_REQUEST["lang"] ))                return 1;        safeinclude("language/en"..

Wargame/natas 2024.12.31

Natas Level 24 풀이

Username: natas24URL: http://natas24.natas.labs.overthewire.org 이번에도 패스워드를 입력하라고 한다. 소스코드를 보면, 이전 단계와 달리 패스워드의 문자열이 가려져있고, 그냥 정확한 패스워드를 입력해야 풀린다. 처음엔 sql injection 스크립트를 써야하나..싶었는데......다행히 저 strcmp()라는 함수에 대해 찾아본 결과, strcmp()는 배열을 입력받았을 때, 경고를 발생시키고 0을 반환한다고 한다. 0이 반환되면 조건문이 참이 되어 패스워드가 나오게 되므로, 따라서 배열만 입력하면 저 if문을 우회할 수 있다. url에 passwd[] 파라미터만 붙여서 보내면 다음 패스워드가 나온다.

Wargame/natas 2024.12.13

Natas Level 23 풀이

Username: natas23URL: http://natas23.natas.labs.overthewire.org  이번엔 패스워드를 입력하라고 한다.   소스코드를 보면, passwd로 받는 입력값에 iloveyou 문자열이 있고, 그 길이가 10을 넘으면 다음 패스워드가 나온다.  처음엔 iloveyou111 이런식으로 iloveyou뒤에 문자나 숫자를 넣었는데, 안 풀렸었다. 찾아보니 strstr 함수는 부분 문자열이 발견되면, 그 위치부터 문자열의 끝까지만 반환한다고 한다. 따라서 숫자뒤에 iloveyou를 붙여 넣으면, 숫자 뒤의 iloveyou만 반환하고 길이도 10이 넘게 만들 수 있다. 아래와 같이 123iloveyou 를 passwd에 입력하면 다음 단계의 패스워드가 나온다.

Wargame/natas 2024.12.13

Natas Level 22 풀이

Username: natas22URL: http://natas22.natas.labs.overthewire.org  페이지에 아무것도 없다  소스코드를 보면, url에 GET 변수로 revelio 가 있고 admin이면 패스워드를 출력한다. 따라서 url에 revelio 파라미터를 붙여서 보낸 뒤 히스토리를 봤다.  코드 상 admin이 아니면 revelio 파라미터를 붙여도 원래의 홈 페이지(/)로 리다이렉트(302)시키는데, 그 과정에서 natas23 패스워드가 노출되고 있었다.

Wargame/natas 2024.12.12

Natas Level 21 풀이

Username: natas21URL: http://natas21.natas.labs.overthewire.org admin으로 로그인해야한다. 저 실험실 페이지에 들어가면 아래와 같이 hello world! 텍스트의 css 편집을 할 수 있는 입력창이 나온다. 각 페이지의 소스코드를 보면, 이번에도 admin 1 키-값 쌍을 보내야 하나보다. 실험실 페이지 소스코드를 보니 입력받는 css 속성값을 세션에 넣고 있음 $_SESSION 을 디버깅메시지로 화면에 출력하고 있으니까.. 전부 admin으로 입력하고 확인해보았다. 입력한 값들이 그대로 $_SESSION 배열에 들어간 걸 확인할 수 있다.따라서 입력값에 admin 1 만 추가하면 될 것 같다. 세션값 일단 삭제해놓고css 변경 요..

Wargame/natas 2024.12.08

Natas Level 19 풀이

Username: natas19URL: http://natas19.natas.labs.overthewire.org  이번에도 admin으로 로그인해야 하는 문제이다. 소스코드는 지난 단계와 비슷하지만, 세션아이디가 순차적이지 않다고 한다.     username 에는 admin으로, password는 아무거나 입력하면서 세션아이디가 어떻게 나오는지 확인해보았는데,항상 세션아이디 끝자리는 2d61646d696e 로 출력된다. 어떤 규칙으로 인코딩한 게 분명하다. 몇 가지 확인해보았더니 "000-admin" 텍스트를 16진수값으로 변환한 ascii코드였다. 000 자리에는 0부터 999까지의 랜덤숫자로 세션아이디를 생성시키는 듯 하다.     이를 바탕으로 "0-admin"부터 "999-admin"까지 as..

Wargame/natas 2024.05.02