다음 url로 접속하면 문제 사이트가 나온다.
https://ctf.fluxfingers.net:1315/

로봇이 싫다면서 얘좀 없애게 돈좀 보내달란다.
입력 값을 보면 카드번호랑 돈 이메일 등 여러 입력 값이 보인다. 해당 값들에 SQLi가 터지나 이것저것 시도해봤지만 별다른 수확이 없었고 돈 보내주면 서포트 페이지를 알려준대서 대충 입력값 만들어서 보내면  다음과 같이 로봇때매 이메일 전송이 중단되서 서포트 페이지를 못알려준단다.

로봇 때매 못알려준다는거보니까 딱봐도 robots.txt가 관련된거 같아서 구글에다 해당 사이트 쳐서 로봇파일 뜨는데 있는지를 봤는데 별 수확이 없었다. 그래서 그냥 url에다가 robots.txt 파일 치고 들어갔더니 다음과 같이 disallow된  /vault라는 페이지 하나가 보인다.

해당 페이지로 들어가봤더니 인증화면 하나가 떠서 일단 대충 admin/admin치고 입력을 해봤다.

입력 후 버프로 잡아서 확인해보니 헤더값에 딱봐도 의심스러운 base64인코딩 된 값이 보인다.

해당 값을 디코딩해보니 내가 입력한 id , pw 값이 보인다.

딱봐도 SQLi 터질 것 같아서 admin' or 1=1--:admin 값 base64 인코딩해서 날려봤다.

admin으로 로그인되고 이미지 하나가 보인다. robotssuck 이라는데 처음엔 이게 키인가 했는데 내용 읽어보니 가장 최근 secret값을 구하란다. robotsssuck이 2번인거 보니 1번 구하면 될 것 같다.
admin' union select 'ab'||'c'--:admin 로 날렸을 때 먹히는거 보니 오라클인 것 같아서 테이블 뽑으려고 all_tables 썻더니 계속 에러가 났다. 뭐지하고 생각좀해보다 mysql, mssql , oracle , maria 제외하고 다른 디비 중에 뭘까하고 이것저것 대입해보니 sqlite 쿼리에서 테이블이 뽑혔다.
admin' union select sql from sqlite_master--:admin 인코딩 해서 날렸더니 다음과 같이 떳다.

hiddensecrets 테이블에 val값 중에서 가장 최근거 구하면 될 것 같다.
admin' union select val from hiddensecrets limit 1,1--:admin
admin' union select val from hiddensecrets limit 2,1--:admin
첫번째랑 두번째 행에 데이터가 들어있었고 두번째 행이 robotssuck 값이었다.
admin' union select val from hiddensecrets limit 1,1--:admin 인코딩해서 날린 후 뽑힌 값을 이미지형식으로 맞춰서 출력했다.

잘나온당.
eat_all_robots 란 이미지에 키 값이 담겨서 뜬다.
auth = eat_all_robots


'CTF > Writeup' 카테고리의 다른 글

Secuinside 2013 PE time Write up  (0) 2018.01.20
Hack.lu CTF 2015: Module Loader Write up  (0) 2018.01.20
Hack.lu CTF 2014: ImageUpload Write up  (0) 2018.01.20
Hack.lu CTF 2014: Killy The Bit Write up  (0) 2018.01.20
Hack.lu CTF 2013: Pay TV Write up  (0) 2018.01.20
블로그 이미지

JeonYoungSin

메모 기록용 공간

,