Over the Wire/natas 28

[OverTheWire:Natas] natas 24 → 25 / natas 25

편지인가? 소스코드부터 보자. natas25 language safeinclude 함수를 보면 ../를 str_replace함수로 필터링 하는 것을 알 수 있다. /?lang=../ 을 파라미터로 보내면 다음과 같은 에러 창이 뜬다. str_replace 함수는 ....//같은 방식으로 우회할 수 있다. /?lang=....// /var/www/natas/natas25 다시 소스코드로 돌아가서, logRequest 함수는 User Agent를 로그 파일에 저장하는 것을 알 수 있다. 다음과 같은 방법으로 파라미터를 보내보자. lang=....//logs/natas25_gq5iotfc82bf9j8jc9ppkhvql6.log 이제 burp suite로 User-Agent를 변조할 것이다. ~/etc/nata..

Over the Wire/natas 2021.08.15

[OverTheWire:Natas] natas 23 → 24 / natas24

이전 문제처럼 password를 적는 칸만 있다. 소스코드 Password: strcmp함수에서 $_REQUEST["passwd"]와 비밀번호를 비교하고 있다. strcmp 함수가 이번 문제의 핵심인 것 같아 취약점을 검색해보았다. https://ch4njun.tistory.com/65 php 특정 버전에서는 문자열이 아니라 배열을 입력해도 null을 반환한다는 것이다. passwd[]=... 같은 방식으로 전달해주면 될 것 같다. 를 뒤에 입력해주었다. 문제를 해결할 수 있었다! ?passwd[]= GHF6X7YwACaYYssHVY05cFq83hRktl4c

Over the Wire/natas 2021.08.03

[OvertheWire:Natas] natas 22 → 23 / natas 23

password를 직접 입력하는 문제인가? 소스코드 Password: $_REQUEST로 패스워드를 받는다. strstr함수는 찾고 싶은 문자를 찾은 후 매치되는 문자열을 반환하는 함수다. 대소문자 구분이 없다. 패스워드에 iloveyou가 들어있는 것 같다. 10보다 큰 수를 넣고 iloveyou를 입력하면 문제를 해결할 수 있다. 숫자를 먼저 넣어야 한다. OsRmXFguozKpTZZ5X14zNO43379LZveg

Over the Wire/natas 2021.08.03

[OvertheWire:Natas] natas 21 → 22 /natas22

화면에 아무것도 없고 소스코드 링크만 걸려있다. 소스코드 (생략) View sourcecode 소스코드가 그닥 복잡하진 않다. 파라미터로 revelio를 전달하면 비밀번호를 볼 수 있는데, admin이 아니면 리다이렉션하는 첫번째 if문이 걸린다. 버프슈트를 사용해서 revelio를 get방식으로 보내보자. /?revelio를 보냄 response탭에서 확인 -> 패스워드 획득! D0vlad33nQF0Hz2EP255TP5wSW9ZsRSE

Over the Wire/natas 2021.08.01

[OvertheWire:Natas] natas 18 → 19 / natas19

코드가 이전 레벨과 거의 같지만 세션 아이디가 순차적이지 않다. 쿠키값 3238352d736466 디코딩해보자. 디코딩 사이트중에 괜찮은 사이트가 있었다. https://dencode.com/ hex 디코딩이 제일 그럴듯하다. 쿠키값을 더 받아보고 확인을 해야 할 것 같다. 1. 3238352d736466 → 285-sdf 2. 3534302d736466617364 → 540-sdfasd 3. 3434352d736466617364 → 445-sdfasd 숫자-문자 형식인 것 같다. 뒤에 문자가 뭔가 했더니 내가 입력했던 아이디였다. 랜덤번호+아이디 형식으로 추측된다. 아마 이번에도 1-640 사이일테니 뒤에 -admin을 추가하면 될 것 같다. import socket dic = {'0':'30', '1..

Over the Wire/natas 2021.07.01

[OvertheWire:Natas] natas level 17 → 18 / natas18

관리자 계정으로 로그인 하라는 것 같다. 소스코드 Please login with your admin account to retrieve credentials for natas19. Username: Password: 세션값을 확인한다. admin의 세션값을 알아야 로그인할 수 있을 것 같다. 세션은 1~640사이의 값이다. 세션을 1부터 640까지 넘겨봐야 할 것 같다. 버프스위트 기능중에 인트루더 기능을 이용해 1부터 640까지 보내볼 것이다. https://blog.naver.com/crehacktive3/221073816663 보내는 과정에서 length순으로 정렬했더니 하나만 1370이 나와서 이 부분을 확인했더니 비밀번호가 나왔다. 세션값은 119였다. 근데 중간에 나오면 끝까지 안해도 되긴하..

Over the Wire/natas 2021.06.30