information_schema.tables 와 information_schema.columns에 관해 질문드립니다.
304
작성한 질문수 3
먼저 좋은 강의 늘 감사드립니다. 실무를 해본적은 없고 선생님 강의를 차근차근 따라가고 있는 중인데요, 순차적 메타데이터 목록화시에 information_schema.tables의 역할이 좀 애매한거같아서 여쭤봅니다.
테이블 네임에 관한 정보는 information_schema.columns에도 있더라구요. 그럼 information_schema.schemata에서 db name을 목록화 시킨 후에 바로
select table_name, column_name from information_schema.columns where table_schema='board'
이런식으로 table과 column을 한번에 목록화 시키는것이 더 효율적이지 않나요? 실무에서는 저 과정을 스킵했을때 문제가 되는경우가 있나요? 감사합니다.
답변 1
1
안녕하세요.
좋은 질문 감사합니다~!
질문이 columns를 통해 테이블 , 컬럼을 한번에 왜 목록화를 시키지 않느냐? 인데 2가지 이유 때문에 테이블 이후 컬럼 목록화를 한다고 볼 수 있습니다.
첫 번째, 탐색에 효과적이지 않습니다.
보통 주 메뉴, 서브 메뉴 이렇게 나누는 이유는 가독성 때문이고 사용자의 편의성을 고려해서 그렇게 제작이 됩니다.
그런데 수십개의 메뉴가 한번에 출력된다면 오히려 가독성이 굉장히 떨어지게 됩니다.
A 메뉴 / B 메뉴 / C 메뉴 중에 내가 원하는건 A 메뉴인데 B와 C 메뉴의 서브 메뉴를 볼 필요가 없다라는 것입니다.
실무 환경에서는 환경마다 다르겠지만 테이블의 수가 굉장히 많은 것이 일반적입니다. 그리고 어떤 경우는 테이블에 수십개의 컬럼이 있는데 불필요하게 이런 것들 또한 출력이 되게 되어 가독성을 굉장히 떨어트려 우리가 원하는 탐색의 효율성을 굉장히 떨어트릴수 있습니다.
두 번째, SQL 클라이언트 프로그램이 아닌 SQL Injection 공격 중의 데이터 조회라는 제한된 환경이라는 점입니다.
이 부분이 가장 큰 이유인데 cmd 창에서 mysql 접속해서 sql 실행하면 한번에 쭉~ 출력이 되지만 SQL Injection 공격 시에는 그렇지 못한 경우가 상당히 많습니다.
특히 Blind-Based 공격의 경우는 한문자 한문자 씩 추론을 해야 되는 상황인데 한번에 목록화는 불가능하겠죠?
때문에 공격자가 원하는 테이블의 컬럼을 조회하는게 보다 효과적일 수 있습니다.
제가 이렇게 텍스트로만 적는다고 이해가 되실지 모르겠는데,
강의 끝까지 쭉 들어보시고 본인이 직접 수십번 공격 실습하시다보면 느끼실 수 있습니다.ㅎㅎ
컬럼명 기반으로 테이블 개수를 출력
2
501
1
외부 자료 학습중 질문사항-메타데이터 추출 불가한 상황
1
478
1
텍스트 인코딩 한국어
1
611
1
강의랑 관련없는 내용이지만
1
527
2
왜 취약점이 존재한다고 판단할 수 있는지 궁금합니다.
2
555
1
스프링을 배우는 게 나중에 웹 취약점 진단에 도움이 될까요?
2
619
1
Fatal error
1
698
1
코드에 있는 이상한 노란박스
1
1797
1
Parse error 마지막 부분 에러
1
450
1
microsoft machine leraning server 구성 요소 오프라인 설치
1
698
1
실무에서의 버프스위트 사용이 궁금합니다!
1
371
1
sql injection이 왜 위협적인 공격인지 궁금합니다.
2
458
1
union 공격 시 최적화 방법 (게시글 상세보기)
2
260
1
질문이 있습니다
1
202
1
한글은 비트추론할때 어떻게 해야하나요?
1
233
1
[SQL 인젝션에 대한 이해] - "검색 기능에 대한 올바른 취약점 점검 방법" 강의 내용에 대해서 질문입니다.
1
742
2
로그인 버튼
1
286
1
php+mssql 연동
1
448
1
취약점 실습 에러가 안나요
1
240
1
php 기반 로그인 기능 제작 관련해서 질문드립니다.
1
368
3
[실습 7-4, 7-5, 7-6] MySQL, MSSQL, Oracle union based 공격 실습 강의 이후 상세보기에서 순차적 데이터 호출 실습 질문
1
316
1
[실습2-1] 취약점 분석 실습 도중에 질문있습니다 !!
2
225
1
[실습6-1]MSSQL ERROR-BASED 공격 실습 관련 질문 내용
2
374
1
ORA-12541
1
897
7





