HackTheBox 에서 제공하는 웹해킹 문제
MEDIUM 난이도이지만 꽤 어렵다고 느꼈다.
문제페이지에 접속하면 이런 화면이 나온다.
어떤 프리랜서가 본인의 포트폴리오를 올려놓은 이력서 웹사이트이다.
F12를 눌러 개발자 도구를 통해 HTML 을 살펴봤다.
주석으로 숨겨진 경로가 하나 보이는데
portfolio.php?id=2 이런식으로 되어 있는것을 보고
id 파라미터를 통해 뭔가 할 수 있을거라고 생각했다.
해당 URL 로 접근해서 id 파라미터를 변경시켜 봤다.
?id=1 이라고 하면 아래쪽에 Log Cabin 뒤에오는 숫자가 1로 바뀐다.
2, 3 으로 바꾸면 마찬가지로 Log Cabin 2, 3 이런식으로 바뀐다.
id=1 or true 라고 입력했더니
SQL Injection 이 성공한 듯
Log Cabin 1, 2, 3이 모두 출력된다.
다음으로 ?id=1 union all select 1,2,3 이라고 입력해봤더니
컬럼 수가 3개인듯 오류가 나지 않고 이렇게 잘 출력된 모습을 확인할 수 있었다.
다음으로
1 union all select 1,2,table_name from information_scheam.tabes 라고 입력해서
safeadmin 이라는 테이블이 존재한다는 것을 확인했고,
1 union all select 1,2,column_name from information_scheam.columns 라고 입력해서
username, password 컬럼이 있다는 것을 확인했다.
1 union all select 1,2,username from safeadmin
1 union all select 1,2,password from safeadmin 으로
username 은 safeadm 인 것을 알아냈고,
password는 암호화 되어서 저장된 것을 확인했다.
password 맨 앞에 $2y 는 blowfish 로 암호화 되었다는 뜻이다.
crack 해야되는건가 싶어서 hashcat 을 이용해서 시도해봤는데
시간이 꽤 지나도 안나와서 아니라고 판단했다.
다른게 뭐가 있을까 한참 찾다가
dirb 도구를 이용해서 숨겨진 디렉토리를 검색해봤다.
그랬더니 /administart 경로가 있는것을 확인할 수 있었다.
해당 경로로 가보면 이렇게 로그인 창이 뜨는데
이걸 어떻게 해결해야하나 검색해보니
SQL Injection 을 통핸 LFI 공격이 가능하다는 것을 알아냈다.
1 union all select 1,2,load_file("/var/www/html/administart/index.php") 라고 입력했더니
아까 Log Cabin 페이지 아래에 로그인 창을 불러올 수 있었다.
F12 개발자도구에서 소스를 확인해보니
로그인이 성공할 경우 panel.php 페이지로 이동하는 것 같았다.
1 union all select 1,2,load_file("/var/www/html/administart/panel.php") 을 입력해
해당 페이지를 불러오니
플래그를 확인할 수 있었다.
'워게임 > HackTheBox' 카테고리의 다른 글
[HackTheBox] Neonify - 웹해킹 / SSTI / Ruby (117) | 2023.07.26 |
---|---|
[HackTheBox] Obscure - 포렌식 / Wireshark / John the Ripper (93) | 2023.07.20 |
[HackTheBox] Forest - 포렌식 / Stegsolve / Steghide / Vigenere (66) | 2023.04.25 |
[HackTheBox] Impossible Password - 리버싱 / IDA (61) | 2023.04.18 |
[HackTheBox] xorxorxor - 암호학 (78) | 2023.04.09 |