문제 페이지에 접속하면
여러 게시글들을 확인할 수 있다.
Hint 게시글의 내용을 살펴보니
작성자가 suninatas 인 게시글을 들어가야 하나보다.
suninatas 가 작성자인 3번 게시글을 들어가보니 암호가 걸려있는 것을 확인할 수 있다.
"select szPwd from T_Web13 where nIdx = '3' and szPwd = '"&pwd&"'"
띄워져 있는 쿼리를 보니,
사용자가 올바른 비밀번호를 입력하면
T_Web13 테이블에 nIdx 값이 3인 szPwd 컬럼을 참조하는 것으로 보인다.
올바른 비밀번호는 알지 못하지만
SQL Injection을 통해 비밀번호에 참이되는 값을 입력해서 우회를 시도해볼만 하다.
먼저 ' 을 사용해 쿼리가 먹히는지 확인해보았다.
사용자가 입력한 값이 쿼리문으로서 DB에 직접 들어간다는 것을 확인할 수 있었다.
무조건 참이 될 수 밖에 없는 쿼리문을 이용해 비밀번호 우회를 시도했다.
하지만 해당 알람과 함께 실패했다.
테스트를 해보니 여러 문자열(admin,)들이 필터링되고 있었고 그중 =(등호)가 필터링에 걸려 실패했던 것이다.
수많은 테스트 중 or 과 like 문자열은 필터링이 되지 않는다는 것을 알 수 있었고,
위와 같이 공격을 시도했다.
알림창과 함께 3번 게시글에 접근할 수 있었고,
키 값을 찾아보라는 내용을 확인할 수 있었다.
페이지의 소스코드를 확인해 보니
<form> 태그에 KEY에 대한 힌트를 확인할 수 있었다.
로마의 첫 황제는 아우구스투스로 키 값을 얻을 수 있었다.
AuthKey : Augustus
'WarGame > SuNiNaTaS' 카테고리의 다른 글
SuNiNaTaS - 8번 (0) | 2024.04.16 |
---|---|
SuNiNaTaS - 7번 (0) | 2024.04.16 |
SuNiNaTaS - 5번 (1) | 2024.04.16 |
SuNiNaTaS - 4번 (0) | 2024.04.16 |
SuNiNaTaS - 3번 (0) | 2024.04.16 |