SQL Injection 과 관련된 웹해킹 문제
인젝션 자체는 쉬웠는데
공격 벡터를 찾아내는데 시간이 좀 걸렸다.
소스는 따로 없고 문제페이지 주소만 주어진다.
문제 페이지에 접속하면
이렇게 간단한 미용실 홍보 페이지가 나온다.
오른쪽 위에 보면 Login 버튼이 있는데
들어가면 이렇게 로그인 창이 나온다.
처음에 여기다가 SQL Injecion 을 해서
로그인을 우회하는건줄 알았는데
아무리 해봐도 잘 안돼서 다른 곳을 찾아보게 되었다.
F12 개발자도구를 이용해
HTML을 살펴보다가 찾았는데
img src 를 보면
barber2.jpg 부터 barber7.jpg 까지 있는것을 볼 수 있다.
barber1.jpg 가 없는게 이상해서
URL에 직접 주소를 쳐 접근해보니
Backup User 의 ID 와 PW가 적혀있었다.
해당 ID와 PW를 이용해 로그인을 해보니
고객 목록을 조회할 수 있는 페이지가 나타났다.
Enter a keyword 부분에
' 를 입력해보니
아래처럼 SQLite3 에러가 발생했다.
이 부분이 취약한 부분일 것이라고 확신했다.
인젝션이 가능하다는 것을 알아내고 나서
바로 UNION 을 이용해 컬럼 갯수를 파악했다.
' union select 1,2,3,4-- - 라고 입력해보니
오류없이 UNION 이 잘 수행되는것을 볼 수 있었다.
컬럼의 갯수는 4개이다.
DBMS가 SQLite이니
' union select 1,sql,3,4 sqlite_master-- - 을 이용해
테이블 정보를 확인했다.
users 테이블에
username, password 컬럼이 있는것을 확인했다.
알아낸 정보를 토대로
' union select 1,username,password,4 from users-- -
라고 입력하여 admin 의 비밀번호를 알아냈다.
알아낸 admin 비밀번호로 로그인 하면
플래그를 찾을 수 있다.
'CTF > 웹해킹' 카테고리의 다른 글
[n00bzCTF] Club_N00b - 웹해킹 (83) | 2023.06.21 |
---|---|
[DanteCTF] Dumb Admin - 웹해킹 / Webshell (84) | 2023.06.18 |
[DanteCTF] Unknown Site 2 - 웹해킹 (79) | 2023.06.14 |
[DanteCTF] Unknown Site 1 - 웹해킹 / robots.txt (99) | 2023.06.13 |
[Really Awesome CTF] Really Awesome Monitoring Dashboard - 웹해킹 / SQL Injection (86) | 2023.06.11 |