게임강의
기타게임 분류

기타게임 SQL 인젝션에 대해서 알아봅시다.

컨텐츠 정보

본문

[출처: Gamezone]
작성자: 작성자 없음




SQL인젝션은 현재 웹 해킹 공격중 많은 부분을 차지하는 공격기법이죠...


이와 같은 SQL 인젝션은 프로그래머가 미숙하거나 보안을 고려하지 않고


 


마구잡이식으로 코딩을 했을때 일어나는 현상입니다.


예를들어 봅시다.



웹페이지 로그인창을 예시로 들면 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의 비밀번호를 모르고도 접속할수 있는 것입니다.

 


 


 


다시 정리를 해드리자면


 


 


[이미지 링크 만료]


 


 


 


' or''='

비밀번호에 넣으니까 통과되 겠죠?



' or 1=1 --

아이디 비밀번호 모두 통과되겠죠?


 


 


이러한 것을 방지하기 위해서는 특수문자에대한 대응이 필요한데


코딩을 할때 너무 안일하게 코딩을 해서 벌어지는 현상입니다.


 


심지어 특수문자에 대한 대처가 없으면 SQL을 죽여버릴수도 있는 무서운 SQL 인젝션...


 


더 나아가서 SQL 인젝션으로 상대방의 컴퓨터 아이피는 물론 XSS 세션 탈취까지 일어나면 


 


사이트는 바로 망해버립니다...


 


모두 보안에 신경씁시다. !!

관련자료

댓글 0
등록된 댓글이 없습니다.
전체 422 / 1 페이지
번호
제목
이름

강의실

🏆 포인트 랭킹 TOP 10
순위 닉네임 포인트
1 no_profile 타키야겐지쪽지보내기 자기소개 아이디로 검색 전체게시물 82,042
2 no_profile 라프텔쪽지보내기 자기소개 아이디로 검색 전체게시물 51,280
3 no_profile 동가리쪽지보내기 자기소개 아이디로 검색 전체게시물 33,479
4 no_profile Revolution쪽지보내기 자기소개 아이디로 검색 전체게시물 28,199
5 서번트쪽지보내기 자기소개 아이디로 검색 전체게시물 23,416
6 no_profile 닥터스쪽지보내기 자기소개 아이디로 검색 전체게시물 22,310
7 no_profile 불멸의행복쪽지보내기 자기소개 아이디로 검색 전체게시물 16,347
8 no_profile 호롤롤로쪽지보내기 자기소개 아이디로 검색 전체게시물 13,500
9 no_profile 검은고양이쪽지보내기 자기소개 아이디로 검색 전체게시물 13,246
10 no_profile 하늘2쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 13,239
알림 0