일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- sql injection
- php
- over the wire
- php 파일 업로드하기
- access control
- OS Command Injection
- active recon
- php 로그인 페이지 만들기
- Server Side Request Forgery
- Recon
- ssrf
- War Game
- BANDiT
- active reconnaissance
- Cryptography
- 파일 업로드 취약점
- FTZ
- php file upload
- Authentication
- php login page
- privilege escalation
- Reconnaissance
- Cookie
- php To Do List
- THM
- SQLi
- Leviathan
- file upload
- tryhackme
- overthewire
- Today
- Total
목록전체 글 (242)
R's Hacking Daily Log
오늘 note에서는 thm challenge 문제를 풀다가 알게 된 file signature에 대해 간단히 정리해볼까 한다. 1. file signature 의미 file signature의 정의를 찾아보면 다음과 같이 나온다. "A file signature is a unique sequence of identifying bytes written to a file's header." 말 그대로 파일 제일 첫 부분에 나오는 고유 시퀀스를 말하는데, 시퀀스란 간단히 문자열이라고 생각하면 편하다. 결론적으로 file signature의 의미는 파일 첫 부분에 열거된 고유한 byte sequence라는 것. 2. file signature 역할 그렇다면 file signature은 어떤 용도로 사용되는 걸까..
Target IP로 접속한 모습이다. source code에도 특별한 정보가 없어서 바로 gobuster를 실행했다. target ip 안에 /island directory가 있다고 한다. 접속했더니 Code word is: 까지만 나와있어서 드래그해봤더니 숨겨진 단어 vigilante를 찾았다. 혹시 몰라 /island에도 gobuster를 사용해 directory scan을 해봤다. 그랬더니 /2100 directory가 있다고 한다. 잽싸게 이동해보면- 동영상은 정상적으로 플레이되지 않아서 source code부터 살펴봤다. source code를 보니 .ticket이라는 힌트가 보인다. ticket이라는 확장자를 찾아보면 뭔가 나올 거 같다. 빙고! /island/2100 directory 안에 ..
이제 root 권한을 얻어보자. 이번 문제는 root 권한을 얻기 위한 과정이 조금 어려웠다.. sudo -l도 사용을 못하고 find를 이용해 setuid가 설정된 파일을 출력시켜 봐도 활용할 부분을 찾지 못했다. 결과적으로.. james 계정에서 볼 수 있는 directory는 죄다 들어가서 파일을 읽어봤다. 하하하- 아무튼 결과적으로 위의 사진에서 보이는 crontab이라는 파일의 마지막 줄을 보면 문제 해결의 힌트를 얻을 수 있다. 우선 overpass.thm에 해당하는 ip를 공격자 ip로 수정해 준다. curl command가 실행되면 overpass.thm/downloads/src/buildscript.sh 파일을 가져온 후 bash shell이 실행되는 거 같다. 그래서 overpass.t..
target ip port scan 결과, 22 & 80 port가 열려있다고 한다. 80 port가 열려있다고 하니 directory scan을 실행해 보자. /admin directory가 있다고해 접속해 보니 로그인 페이지가 출력되었다. 로그인 페이지의 source code 중 login.js를 확인해 보니 Cookies.set()가 사용된 부분이 눈에 들어온다. console 창에서 SessionToken 값을 "heyhey"로 설정하고 페이지를 새로고침했더니 (SessionToken = 그냥 아무거나 의미없는 걸로 설정했다.) james를 위한 ssh key가 나온다. (OoO) ! user = james / protocol = ssh 해당 내용을 복사해 james_ssh 파일을 만들고 ssh ..
오늘은 /tmp directory에 대해 알아보자. 1. /tmp tmp는 temporary의 약자를 나타낸다. 단어 뜻 그대로 일시적인 보관을 목적으로 하는 데이터를 넣어두는 디렉토리이다. 2. tmp 역할 web server는 temporary file을 저장하기 위한 /tmp directory를 갖는다. /tmp directory는 영구적이라기 보다 잠시동안 저장해둘 데이터를 보관하는 창고라고 생각하면 된다. 그렇기 때문에 필요 없어진 데이터는 삭제되며, 만약 /tmp directory에 데이터를 업로드하는 프로그램이 실행 중이라면 /tmp directory가 꽉 차는 순간 데이터를 더 이상 /tmp directory에 저장할 수 없기 때문에 동작을 멈추게 된다. 3. shared server & ..
[tee command] 이 명령어는 tee 앞에서 실행된 명령어의 결과를 화면에 출력하는 동시에 파일에 저장해 주는 명령어이다. thm ctf target ip로 nmap을 실행한 화면이다. "> file_name"의 경우에는 실행한 내용이 file_name에 지정한 파일로 저장된다. 그래서 cat file_name으로 실행 결과를 볼 수 있다. 하지만 명령어를 실행한 내용을 바로 화면에 출력하면서, 그 내용을 따로 파일에 저장해두고 싶다 하는 경우 tee command를 사용하면 실행 결과가 바로 화면에 출력되면서 생성한 파일(위의 경우 scan)에 해당 내용을 저장하기 때문에 다시 파일 내용을 확인하고 싶은 경우 scan 파일을 읽으면 되기 때문에 nmap을 재실행하지 않아도 된다. 한 가지 기억하..
오늘도 target ip의 port scan으로 시작한다. nmap 결과 22 & 80 port가 열려있다고 한다. 80 port로 접속한 모습이다. 일단 source code를 확인해 봤다. 중간에 주석처리된 글이 있는 데 Jessie라는 사람이 website를 관리하는 거 같다. ? user = Jessie target ip에 gobuster로 directory를 찾아보니 /sitemap이라는 directory가 나왔다. 하지만,, 수상해 보이는 정보를 얻지 못해서 다른 directory를 찾아보기로 했다. /sitemap에 gobuster를 실행하니 /.ssh directory를 찾아냈다. 보통은 /.hta, /.htpasswd, /.htaccess까지는 접근이 불가해도 출력되는 데 /.ssh가 출..
username : boring password : iconvertedmypasswordtobinary 저번 글에 이어 easy peasy 문제를 마무리해보자. 알아낸 계정 정보로 ssh 접속을 시도해보니 성공했다. 보통은 ssh가 22 port에서 동작하는 데 이번 문제에서는 6498 port를 사용하기 때문에 -p switch로 포트 설정을 해줬다. /home/boring 안에 있는 user.txt를 읽으면 flag가 있는데,, "It's Rotated Or something"이라고 하는 걸 봤을 때 rot13을 실행했나? 하는 생각이 들었다. rot13을 실행해 보니 user.txt의 flag를 얻을 수 있었다. 이어서 machine을 더 둘러보니 /var/www 안에 .mysecretcronjob..