1. 환경 세팅
2. 정찰
admin@juice-sh.op 계정
bender@juice-sh.op계정
jim@juice-sh.op계정에서 replicator라는 문구가 눈에 띈다.
구글링 결과 star trek이 나온다. jim은 star trek의 팬으로 보인다.
검색쿼리는 q
3. 주스 주입
주입공격에는 여러 유형이 있다.
- sql injection : 데이터베이스에서 데이터를 검색하거나 변조하기 위해 악의적이거나 잘못된 쿼리를 입력하는 경우
- command injection : 웹 응용 프로그램이 입력 또는 사용자 제어 데이터를 가져와 시스템 명령으로 실행할 때. 공격자는 이 데이터를 변조하여 자신의 시스템 명령을 실행할 수 있다. 이것은 잘못 구성된 핑 테스트를 수행하는 애플리케이션에서 볼 수 있다.
- email injection : 악의적인 사용자가 이메일 서버의 사전 승인 없이 이메일 메시지를 보낼 수 있는 보안 취약점. 공격자가 서버에서 올바르게 해석하지 않는 추가 데이터를 필드에 추가할 때 발생
burp를 켜서 로그인페이지에서 인터셉트한뒤 이메일란에 ' or 1=1--'로 하고 forward한다. (-- 문자는 SQL에서 데이터를 주석 처리하는 데 사용되어 이메일 뒷부분 쿼리를 검사하지 않는다.)
admin계정에 로그인하고 플래그도 발견했다.(32a5e0f21372bcc1000a6088b93b458e41f0e02a)
다음으로 bender@juice-sh.op'--를 넣어보자
bender계정에 로그인하고 플래그도 발견했다.(fb364762a3c102b2db932069c0e6b78e738d4066)
3. Broken Authentication
sql injection을 사용하여 관리자계정에 로그인했지만 아직 비밀번호를 모른다.
다음 결함을 이용하여 인증을 깨보자!
- 높은 권한을 가진 계정의 약한 암호
- 비밀번호 분실페이지
intruder에서 비밀번호 필드를 설정하고 wordlist는 /usr/share/seclists/Passwords/Common-Credentials/best1050.txt로 한다.
비밀번호는 admin123였다.(c2110d06dc6f81c67cd8099ff0ba601241f1ac0e)
Jim의 비밀번호를 재설정해보자.
비밀번호 재설정 질문은 당신의 가장 큰 형제자매 중간 이름
아까 얻은 star trek 단서가 쓸모 있을 지도 모른다.
james T. Kirk의 형의 미들네임은 Samuel.
비밀번호 변경에 성공하고 플래그를 얻었다.(094fbc9b48e525150ba97d05b942bbf114987257)
4. 민감한 데이터 노출
웹은 민감한 데이터를 안전하게 저장하고 전송해야한다.
대부분 데이터보호가 웹 전반에 걸쳐 일관되게 적용되지 않아 특정페이지에 일반 사용자가 액세스할 수 있다.
/about
링크를 누르면 /ftp/legal.md 파일에 접근할 수 있다. 다운 받아두자.
/ftp 도 접근할 수 있었다. 홈페이지로 돌아가니 플래그를 얻을 수 있었다.(edf9281222395a1c5fee9b89e32175f1ccf50c5b)
/ftp/eastere.gg
/ftp/package.json.bak
.md, .pdf 파일만 다운받을 수 있다는 403에러가 떴다.
Poison Null Byte(%00) 라는 문자우회를 사용하여 이 문제를 해결해보자.
http://10.10.115.206/ftp/package.json.bak%2500.md
파일을 다운받고 플래그를 얻었다.
eastere.gg
┌──(root💀kali)-[~/Downloads]
└─# cat eastere.gg%00.md
"Congratulations, you found the easter egg!"
- The incredibly funny developers
...
...
...
Oh' wait, this isn't an easter egg at all! It's just a boring text file! The real easter egg can be found here:
L2d1ci9xcmlmL25lci9mYi9zaGFhbC9ndXJsL3V2cS9uYS9ybmZncmUvcnR0L2p2Z3V2YS9ndXIvcm5mZ3JlL3J0dA==
Good luck, egg hunter!
┌──(root💀kali)-[~/Downloads]
└─# echo L2d1ci9xcmlmL25lci9mYi9zaGFhbC9ndXJsL3V2cS9uYS9ybmZncmUvcnR0L2p2Z3V2YS9ndXIvcm5mZ3JlL3J0dA== | base64 --decode
/gur/qrif/ner/fb/shaal/gurl/uvq/na/rnfgre/rtt/jvguva/gur/rnfgre/rtt
┌──(root💀kali)-[~/Downloads]
└─# echo "/gur/qrif/ner/fb/shaal/gurl/uvq/na/rnfgre/rtt/jvguva/gur/rnfgre/rtt" | tr 'A-Za-z' 'N-ZA-Mn-za-m' 130 ⨯
/the/devs/are/so/funny/they/hid/an/easter/egg/within/the/easter/egg
5.
현대 시스템에서는 여러 사용자가 서로 다른 페이지에 액세스할 수 있다. 관리자는 가장 일반적으로 관리 페이지를 사용하여 웹사이트의 다른 요소를 편집, 추가 및 제거한다. Weebly 또는 Wix와 같은 프로그램으로 웹사이트를 구축할 때 사용할 수 있다.
Broken Access Control 익스플로잇 또는 버그가 발견되면 두 가지 유형 중 하나로 분류됩니다 .
- 수평적 권한 에스컬레이션
사용자가 동일한 수준의 권한으로 작업을 수행하거나 다른 사용자의 데이터에 액세스할 수 있는 경우 발생 - 수직 권한 에스컬레이션
사용자가 작업을 수행하거나 더 높은 수준의 권한을 가진 다른 사용자의 데이터에 액세스할 수 있는 경우 발생
Ref
'네트워크 보안 > CTF' 카테고리의 다른 글
📖 CTF 정보보안 콘테스트 챌린지북 (네트워크/패킷분석) (0) | 2022.03.02 |
---|---|
📖 실전 바이너리 분석 (lvl2) (0) | 2022.03.02 |
🎄사이버 2의 출현 [2020] (0) | 2022.01.09 |
picklerick 🥒🥒 (0) | 2022.01.01 |
🕵🏼 스테가노그래피 🕵🏼 (0) | 2021.12.27 |