일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- over the wire
- Server Side Request Forgery
- php login page
- php 파일 업로드하기
- Cookie
- BANDiT
- Leviathan
- OS Command Injection
- Recon
- ssrf
- php
- THM
- Reconnaissance
- privilege escalation
- overthewire
- sql injection
- War Game
- tryhackme
- active reconnaissance
- php To Do List
- 파일 업로드 취약점
- SQLi
- file upload
- Cryptography
- php 로그인 페이지 만들기
- active recon
- access control
- Authentication
- FTZ
- php file upload
- Today
- Total
목록OverTheWire (52)
R's Hacking Daily Log
이번에는 ltrace가 아닌 r2 command로 leviathan1 level을 풀어보자. ltrace command는 문제를 간단하게 한 번 풀어보자의 느낌이라면, r2 command는 좀 더 문제를 분석적으로 접근해서 해결하는 방법이다. Kali linux - Terminal ] r2 command로 check 파일을 분석하고, afl (= analysis function list )를 이용하여 함수를 쭉 띄운다. 중간에 main function이 있는 걸 확인할 수 있다. main function의 내용을 좀 더 구체적으로 확인해 보자. pdf @main 읽다 보면 call 뒤에 함수 이름이 나오는 걸 볼 수 있다. call "function name" 해당 함수를 호출하는 의미이다. 그중에서 s..
Connection : ssh leviathan7@leviathan.labs.overthewire.org -p 2223 username : leviathan7 Kali linux - Terminal ] leviathan7이 leviathan의 마지막 level이기 때문에 이번 stage에서는 찾아야 할 password가 존재하지 않는다. bandit을 풀고나서 leviathan을 풀면 뭔가 더 해결책이 잘 생각나는 것 같다. 비슷한 문제도 있고, 관련지어 적용시킬 만한 문제도 있어서 bandit부터 풀어보는 걸 추천한다 ~.~
Connection : ssh leviathan6@leviathan.labs.overthewire.org -p 2223 username : leviathan6 Kali linux - Terminal ] leviathan6 파일이 들어있다. 사용법은 ./leviathan6 + 4 digit code 라고 한다. 0000~9999까지의 pin 중 올바른 pin을 입력해야 leviathan6가 무언가를 해주나 보다. 이럴 때 사용하기 제일 단순한 방법은 brute force. bandit에도 비슷한 문제가 있던 걸로 기억한다. /tmp directory를 만들어 주고 그 안에 brute.sh라는 이름으로 brute force shell을 생성한다. vi command를 사용하면 text editor가 열릴 것..
Connection : leviathan5@leviathan.labs.overthewire.org -p 2223 username : leviathan5 Kali linux - Terminal ] ./leviathan5 file을 실행해 보니 /tmp/file.log를 찾을 수 없다는 문구가 출력된다. ltrace command로 출력된 내용에서는 fopen()을 볼 수 있다. fopen() 안에 있는 parameter를 보니, 내용을 읽기 위해 /tmp/file.log를 열어라! 라는 코드이다. 즉 ./leviathan5는 /tmp/file.log 내용을 읽는 역할을 하는 것. 그렇기 때문에 /tmp/file.log라는 이름의 파일이 있어야 하는 거다..!! 그리고 한 가지 더. ./leviathan5는..
Connection : ssh leviathan4@leviathan.labs.overthewire.org -p 2223 username : leviathan4 Kali linux - Terminal ] 현재 경로에서 처음 보는 .trash directory가 보인다. 이런 건 망설임없이 들어가 본다~ 들어가 보니 bin이라는 이름의 파일이 있다. 실행시켜보니 binary 문자열이 주르륵 나왔는데 음. 그 밖에 별 다른 건 없어 보인다. 그냥 저 binary 문자열이 비밀번호인 거 같은데, 형태만 조금 바꿔보자. python으로 코드를 이리저리 짜주면 ... ascii code 형태로 password를 얻을 수 있다. binary_int = int("010001~", 2) number = binary_in..
Connection : ssh leviathan3@leviathan.labs.overthewire.org -p 2223 username : leviathan3 Kali linux - Terminal ] level3라는 파일 확인. 실행해보면 password를 입력하라고 한다. 틀린 password를 입력하면 "bzzzzzzzzap. WRONG"! (z가 몇 개일까..?) ltrace로 확인해 보니, 눈에 띄는 strcmp()이!!! 일치해야하는 문자열이 "snlprintf" (= password) 바-로 password에 입력해 준다. 올바른 password를 입력하니 shell을 준다. shell을 획득한 시점에서 user는 leviathan4! 덕분에 /etc/leviathan_pass/leviath..
Connection : ssh leviathan2@leviathan.labs.overthewire.org -p 2223 username : leviathan2 Kali linux - Terminal 현재 경로에 들어있는 printfile이라는 파일을 실행해본다. 해당 파일은 file printer라는 데, Usage에 사용법을 출력해주고 있다. 파일을 하나 만들어서 printfile을 실행해보니, 정말 말 그대로 파일의 내용을 출력하고 있다. 흠. 그렇다면 password가 들어있는 파일을 출력하게 해볼까했지만, /etc/leviathan_pass/leviathan3는 Permission denied라고 출력된다. 차근차근 다시 생각해보자.. 일단 권한을 확인해보면, printfile의 owner가 le..
Connection : ssh leviathan1@leviathan.labs.overthewire.org -p 2223 uesrname : leviathan1 Kali linux - Terminal ] 현재 경로에서의 파일들을 리스트 시켜본다. check라는 압축파일(?)이 들어있는 걸 볼 수 있다. 한 번 실행시켜봤더니 password를... 틀린 password를 입력하면 "Wrong password, Good Bye..."가 출력되나 보다. password가 문자열인지, 숫자인지도 모르기 때문에 check파일이 어떤 동작을 하는지 간단히 알아보자. ltrace command를 입력하고 이어서 파일을 실행시키면, 해당 파일이 어떤 일을 하는지 간단히 출력된다. 출력되는 내용을 보니 C언어로 작성된 거..