Database/SQL2008. 12. 22. 14:05
몇일전 아는 형님 한분이 저에게 고민을 털어놨습니다.
다름아닌 형님이 운영중이시던 사이트가
ASP로 되어있는데..

어떤 해커(뭐 그닥 실력이 뛰어나진 않을듯;)가 계속해서 SQL을 이용해서
해킹을 시도한다는것이었습니다.

그 방법이란것이 참으로 고전적인 수법인
HTML 에 text 박스 (로그인창이라던가 검색창을 통해..) 에 SQL문을 직접적어서
해킹을 시도하는거죠.. (- sql injection 이라고 하죠 ^^:)

이 문제는 예전부터 ASP 해킹에 가장 쉬운방법으로
많은 이슈와.. 문제점 해결방안에 대해 이야기가 나왔죠..
뭐 솔직히 좀 짜증나는 겁니다.. 특히나 라이브된 사이트의 경우는
SQL 관련된 내용을 통채로 바꺼줄라면 유지/보수하는 개발자는 죽어라
코딩해야할겁니다.. (아래를 보시면 알겠지만.. 손이 많이가는 작업임)

저도 한떄 ASP 로 개발을 하던 시절이 있었던지라..
이런부분을 모르고 있다가 회사내의 선배로부터 배울수 있었고..
SP..  (Stored Procedure) 라는걸 배우게 되었습니다.

이에 대한 자세한 설명은
http://sqler.pe.kr/sql2k/711.asp
에 가보시면 잘 나와있습니다.  (제가 예전에 유용하게 보던 사이트입니다. ^^)

뭐 오라클에도 SP 가 있지만..
다른곳은 모르지만 저희 회사에선 그닥 비추하는거 같더군요.
일단은 ASP 가 아닌 JSP 를 사용하는데.. ASP에서의 SQL 쿼리를 붙이는 형식이 (Statement 객체활용)
아닌 JSP에서는 주로 PrepareStatement 객체를 사용해 request 로 넘겨받은 값들을
set 하는 방식으로 사용하기 때문에 ASP 와 같은 문제를 일으킬 염려가 없다고 하더군요.

뭐 이래저래 말이 많았지만.. ASP 는 솔직히 현재 거의 뭍혀진 언어가 되가는거 같습니다.
(저 ASP 공부할때는 언어라고도 쳐주지도 않았습니다. - 그당시 웹은 천대받았죠..)

새롭게 리뉴얼해서 바꾸려고하면 회사내에서도 상당한 money가 투자되야하니..
기존의 asp로 개발된 웹APP를 쉽게 버릴순없겠지만.. 고객정보라던가.. 중요정보가
노출될 염려가 큰 회사라면.. money를 들여서라도 바꺼야 겠죠...


Posted by 햇 님