28일차 SQL Injection
정보보안2017. 3. 17. 11:01
* 본 게시물의 내용은 수업에서 배운 것을 정리한 것이므로 악용해서는 안됩니다.
게시된 내용들은 잘 알려져있는 기술들입니다. 따라서 악용하더라도 쉽게 적발되니
절대 악용해서는 안됩니다.
--------------------------------------------------------------------------------------------
SQL Injection
* UNION을 이용한 방법
mismatch를 발생시켜 Field의 갯수를 알아 낼 수 있고 문자열 데이터의 경우 그 데이터를 알아낼 수 있다.
정상적인 UNION 구문은 레코드셋의 필드의 갯수와 타입이 맞아야 한다.
이때 데이터 타입에 오류가 발생하면 오류가 발생한 값을 에러메시지에 포함시키게 된다.
이런식으로 union을 활용해서 필드 갯수를 알아 낼 수 있다.
'or'1'='1' union select 1,1--
아이디 부분에 응용을 하면 이렇게 된다.
형변환 오류가 나므로 정보를 얻을 수 있다.
아이디 값을 알고 필드를 알고 있다면 더 쉽다.
* instr 함수를 이용한 인젝션 방어
'정보보안' 카테고리의 다른 글
30일차 SQL인젝션, Blind Sql Injection (0) | 2017.03.21 |
---|---|
29일차 데이터 스키마, SQL 인젝션 (0) | 2017.03.20 |
27일차 CSRF, SQL BASIC (0) | 2017.03.16 |
26일차 CSRF (0) | 2017.03.15 |
25일차 XSS webshell (0) | 2017.03.14 |