HacktheBox baby todo or not todo 을 풀고 싶으신가요?
Do you want to solve HacktheBox baby todo or not todo ?
[ HacktheBox#3 baby todo or not todo ]
Table of contents
#0 Problem
#1 Concept
#2 How to Solve
#3 Conclusion
#0. Problem
Title 확인하여 부적절한 인증 처리 관련 문제임을 알 수 있다.
다운로드한 파일 확인 시, Node.js 소스코드를 확인할 수 있다. Whitebox 문제이다^.~
#1. Concept
#2. How to Solve
1. 접근 / 2. Exploit
1. 접근
부적절한 인증 관련 문제이므로 일반 유저의 권한 차이로 인한 접근이 불가한 곳을 찾아보자.
웹서비스 기능 파악 시, 일반 유저인 공격자가 이용 가능한 기능은 list/<assignee>/, /add/, /delete/<int:todo_id>/, /complete/<int:todo_id>/임을 알 수 있다.
공격자의 입력(Request)부터 출력(Response)까지 권한에 유의하며 소스코드 분석을 해보자.
이용자가 / 경로에 접근 시, secret 값이 부여되며, 각 URL 요청에 대한 처리 전, 값 검증이 이뤄지는 것을 알 수 있다.
"/list/all" 요청 처리 로직 확인 시, secret 검증 후 각 권한에 따른 검증없이 이용자의 todo 내역 전부를 반환함을 알 수 있다.
2. Exploit
#3. Conclusion
각 권한에 따른 별도의 검증 로직 추가 필요
'HACKING_GAME > WEB' 카테고리의 다른 글
HacktheBox#6 Granny (0) | 2021.06.14 |
---|---|
root-Me#8 NoSQL injection - Blind (0) | 2021.05.22 |
root-Me#7 Node.js Eval (0) | 2021.04.08 |
root-Me#6 Graphql (0) | 2021.01.04 |
root-Me#5 SQL Injection - Routed (0) | 2020.12.20 |