인프런 커뮤니티 질문&답변

LK님의 프로필 이미지
LK

작성한 질문수

모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1

컬럼을 가지고 잇는 테이블 순차적 레콛,

해결된 질문

작성

·

358

2

강의에서는 select count(*) from board.sys.columns where object_id in(select object_id from sys.objects where type='U') and name like '%jumin%'

이런식으로 컬럼명 기반으로 테이블갯수를 찾는데 만약 여기서 테이블 이나 컬럼 갯수가 2개이상이라면 순차적 레코드 출력을 해야되는데 어떤구문으로 출력해야되나요 ㅜㅜ 감이 안잡햐요 ㅜ

답변 2

2

LK님의 프로필 이미지
LK
질문자

감사합니다!

1

크리핵티브님의 프로필 이미지
크리핵티브
지식공유자

안녕하세요.

처음할때는 우리가 알아내야 될 데이터 조회 구문과 순차적 레코드 구문 조합하기가 쉽지가 않을 것 입니다. 이 경우 두개를 따로 작성을 해두고 조합하는 작업을 꾸준히 해보시면 많은 도움이 될 것 입니다.

  • 우리가 출력해야 될 SQL 구문 : select name from board.sys.columns where object_id in(select object_id from sys.objects where type='U') and name like '%jumin%'

  • 순차적 레코드 구문(row_number() 함수 사용 방법) : select 컬럼 from (select row_number() over(order by 컬럼) r, 컬럼 from 테이블)a where r=1

  • 두개의 구문 조합 : select name from (select row_number() over(order by name) r, name from board.sys.columns where object_id in(select object_id from board.sys.objects where type='U') and name like '%jumin%')a where r=1

위의 예시는 row_number() 함수를 사용한 순차적 레코드 출력 방법을 사용한 것이며, 나머지 2가지 방법도 사용하셔서 공격 해보심 많은 도움이 되실껍니다.^^

 

 

 

 

LK님의 프로필 이미지
LK

작성한 질문수

질문하기