#로그인 페이지가 보인다.
#대회 당시 배포된 소스코드 분석 (password.php)
#로그인
#설정에 들어가면 패스워드 변경이 있다.(그 이외엔 작동안함).
- 프록시로 찍어보자.
- 파라미터들이 사이좋게 전송된다.
#설정 소스코드 분석
- $a 파라미터는 user(변경 후의 ID)이고 'FILTER_FLAG_NO_ENCODE_QUOTES' 옵션이 하나 더 걸려있으므로 수상하다.
#쿼리가 "user" 식으로 전송된다고 가정하고, system command를 파라미터에 끼워본다.
- user=polaris";system('ls');" 식으로 넣으면, user="polaris";system('ls');" ";pass="passwd" 형태로
전송될 것이다.
#로그인 할 때, RCE가 터지는 것을 확인할 수 있다. (로그인 시도 시 인터셉트)
#접속정보 탐색
- ls /home
- user 'polaris'와 'www-data'가 보인다.
- ls /home/www-data
- user.txt 파일을 확인했다.
- cat /home/www-data/user.txt
- 접속 정보가 표시되었다.(port와 비밀번호는 각 팀마다 달랐음.)
#시스템 접근(ssh)
- 난 일반 사용자이지만, 최상위 권한으로 명령어를 실행하고 싶다고 한다.
#sudo 확인
- sudo의 버전이 1.9.5이고, 비밀번호를 물어본다.
#'sudo 1.9.5 privilege escalation' 문장을 구글에 입력하면, CVE-2021-3156(Baron Samedit)이라는 CVE가 검색된다.
- git 명령어가 사용 가능해 보이니, github에서 exploit code를 가져오겠다.
#git으로 exploit code download 후 escalation
- 참고 : https://github.com/Rvn0xsy/CVE-2021-3156-plus
'CTF_WriteUP > TheHackingChampionShipJunior_2021' 카테고리의 다른 글
[핵챔2021 예선 / Y.CTF 본선] - Tiny_Real_World (Webnable) (0) | 2021.11.15 |
---|