SQL인젝션
SQL인젝션은 현재 웹 해킹 공격중 많은 부분을 차지하는 공격기법이다.
웹페이지에서 입력한 정보는 서버로 이동하여 서버에 있는 DB로 접속하여 필요한 정보를
주게된다.
예를들어
로그인창을 예시로 들면 ID 와 Password를 입력하는 부분이있다.
이곳으로 ID ; test Pass : 123 이런식으로 입력을하여 로그인버튼을 누르게 되면
이정보는 서버측의 DB로 접속하여 ID가 test 인것을 찾아 Pass가 123인지 확인후 맞다면
로그인된 정보를 보내주게 된다.
이런 방식에는 문제점들이 존재한다. ID와 Pass를 검사하기 위하여 조건식으로 검사하기도하는데
입력되는값에 특수문자등을 이용하여 조건을 변경하여 인증을 우회할수 있다.
예를들어 밑의 검사식으로 아디와 비밀번호를 판독한다고 가정하자.
$login = " SELECT * FROM user WHERE id='test' and pass='123'";
여기서 SQL 인젝션을 응용하면
$login = " SELECT * FROM user WHERE id='test' and pass='8' or '1=1'";
이런식으로 변경할수있다.
로그인창이라고 가정한다면
ID : test
Password : 8' or '1=1
이런식으로 입력이 된것이다. id가 test인것을 찾고 비밀번호를 확인하는데 1=1 이 참이라
or 연산을 통해 현재 SQL식이 참이 되버린다.
이러한 방식으로 test라는 id의 비밀번호를 모르고도 접속할수 있는 것이다.
이와같이 SQL 인젝션은 쉬우면서도 위험한 기법이다.
다음 포스팅때 SQL 인젝션에 대해 좀더 알아보겠다.
수고하셨습니다.
'보안 > 웹' 카테고리의 다른 글
웹 보안에 자주사용되는 공격기법 (0) | 2015.11.20 |
---|---|
XSS(Cross Site Scripting) 공격 (0) | 2015.11.20 |
SQL Injection Attack Query (SQL 인젝션 공격쿼리) (0) | 2015.11.20 |
웹해킹 - SQL 인젝션 (0) | 2015.11.20 |
웹 어플리케이션 점검 방법 (0) | 2015.11.20 |