webhacking.kr old 2번

2019. 12. 5. 23:39보안/webhacking.kr

 

<2번문제에 들어가면 뜨는 화면>

 

<페이지 소스코드>

admin.php에 꼭 들어가보라고 하신다.

<~/admin.php 화면, 소스코드, 비밀번호 입력 오류시의 메세지>

올바른 비밀번호를 찾아서 입력해야한다.

(여러가지 값들을 넣어봤지만 오류 메세지가 저것뿐이다.>>여긴 공격포인트 아님)

<처음 화면의 소스코드>

처음으로 돌아와서 소스코드를 보니 주석처리한 날짜가 의심스럽다.

<쿠키의 time값>

1575006977이란 값이 아마 UNIX시간 값인것 같다.->FROM_UNIXTIME()함수를 쓰는 것으로 추정

time값을 바꾸면 주석부분도 달라질테니 이것저것 넣어보자.

 

타임값 변조 시도

쿠키값 결과
0
1
2 2070-01-01 09:00:02
59 2070-01-01 09:00:59
61 2070-01-01 09:01:01
true 2070-01-01 09:00:01
false 2070-01-01 09:00:00
1=1 2070-01-01 09:00:01
20-2=17 2070-01-01 09:00:00

 

숫자->유닉스시간

참->2070-01-01 09:00:01

거짓->2070-01-01 09:00:00

 

쿼리결과의 참 거짓>>>Blind SQL Injection

(오류메세지 반환은 Error-Based SQL Injection)

Blind~는 Error~에 비해 시도를 많이 해봐야해서 자동화 툴을 쓰는게 좋다.

나는 실습해보려하는 거니까 직접 해봐야지.

 

순서

1) 참/거짓 반응 확인->위에서 얻었다.

2) 테이블 정보 획득

3) 특정 테이블의 컬럼 정보 획득(비밀번회 컬럼)

4) 테이블명 + 컬럼명으로 데이터 탈취(여기서는 비밀번호 탈취)

 

 

2) 테이블 정보획득(비밀번호가 있는 테이블 이름)

을 하려면 information_schema.tablestable_name 칼럼을 blind injection하면 된다.

그리고 그 전에 내가 몇개의 테이블 이름을 노가다로 알아내야하는지 견적을 내기 위해 테이블의 수를 알아보자.

-count()함수 사용->row의 수를 알 수 있다->information_schema.tables에서 row는 해당 DB의 테이블 수가 된다.

-table_type이라는 칼럼에서 base table이란 값을 가지면 사용자가 생성한 테이블이란 의미이다.

<time에 널은 값>

information_schema.tables에서 사용자가 생성한 테이블의 수가 2개라면 true, 아니라면 false.

==>후보군으로 2개의 테이블이 있다.

각 테이블의 이름의 길이 획득하기

~.tables에서 사용자가 생성한 테이블 중 첫 번째 레코드의 table_name 칼럼의 길이가 13개라면~==>13자

~.tables에서 사용자가 생성한 테이블 중 두 번째 레코드의 table_name 칼럼의 길이가 3개라면~==>3자

<하나하나 참거짓 따지는건 자동화 툴이 하는거고 사람은 이렇게 이진탐색합시다. 글자 길이도 >10, >5 이런식으로...>

a
d
... min_area_pw
l
 o
... g

admin_area_pw 테이블의 칼럼을 알아보면 될 것같다.

 

 

3) 특정 테이블의 컬럼 정보 획득(비밀번회 컬럼)

2)와 같이 admin_area_pw테이블의 칼럼의 갯수를 알아보고->각 칼럼의 이름 길이를 알아본다.

<칼럼 갯수>
<칼럼이름 길이>

>>칼럼갯수 1개

>>칼럼이름 길이: 2

<글자 알아내기-첫글자:p>

>>칼럼 이름: pw

4) 테이블명 + 컬럼명으로 데이터 탈취(여기서는 비밀번호 탈취)

 

<비밀번호 갯수 1개>
<비밀번호 길이: 17>
<비밀번호 첫글자: k>
<비밀번호 두번째글자: u>

.

.

.

.

3=d

4=o

5=s

6=_

7=t

8=o

9=_

10=b

11=e

12=i

13=s

14=t

15=l

16=a

17=b

<자동화툴...꼭...필요...>

'보안 > webhacking.kr' 카테고리의 다른 글

webhacking.kr old 5번  (0) 2020.01.13