본문 바로가기
Security_/Web

[web] SQL injection

by 낭람_ 2018. 8. 3.
반응형

[SQL injection]


SQL 이란?

SQL = Structured Query Language

관계형 DB의 데이터를 다루는 표준형 프로그램 언어


SQL 실행 과정 

DB - SQL 실행 - 결과 [그림 추가]


SQL injection이란?

SQL injection = 웹 사이트의 보안상 허점을 이용하여 특정 SQL 문을 보내 DB의 중요 정보나 공격자가 원하는 정보를 가져오는 해킹 기법.


SQL injection으로 가능한 공격

- 인증 우회

- 기밀 데이터 접근

- 웹 사이트 콘테츠 변경

- DB 서버 shutdown


SQL injection 우회 기법

= : like, in

substr : substring, mid, left, right

union :     = union select user, password from users

         = 1 || (select user from users where user_id=1)='admin'

공백 : %20, %09, %0a, %0b, %0c, %0d, %a0, ()

공백 :       = select* from table

   = select(*)from(table)

싱글쿼터가 없을 경우 : 0x, 0b를 사용하여 16진법, 2진법, 32진법(conv(10,10,36='A')) 등으로 치환

숫자를 사용할 수 없는 경우 : false = 0, true = 1, true+true=2 

or : ||

and : &&


SQL injection 방어

- 함수 addslashes()를 이용하여 싱글쿼터 앞에 (\) 추가


반응형

'Security_ > Web' 카테고리의 다른 글

[web] 웹 크롤러란?  (0) 2018.08.18
[web] APM 연동과정  (0) 2018.08.07
[web] GET, POST 차이  (0) 2018.08.07

댓글