널리 알려면 XSS, CSRF, SQL Injection 공격에 대해서 대처하는 방법은 모든 개발자가 알고 있어야 합니다. 실무에서 일하다보면 의존하는 라이브러리에서 발견된 보안 취약점에 대처한 경우가 많았습니다. 보통 버전업을 하거나 회사 내에서 자체적인 패치를 하기도 했습니다. 보안 취약점이 자주 발견되는 Struts2 같은 프레임웍들은 신경써서 대처하기 위해 주요 변경을 알리는 메일링 그룹에 가입하기도 했습니다.
XSS(Cross Site Scripting) 취약점 : 공격자에 의해 작성된 스크립트가 다른 사용자에게 전달되는 것이다. 다른 사용자의 웹 브라우저 내에서 적절한 검증 없이 실행되기 때문에 사용자의 세션을 탈취하거나, 웹 사이트를 변조하거나 혹은 악의적인 사이트로 사용자를 이동시킬 수 있다.
CSRF(Cross Site Request Forgery) : 특정 사용자를 대상으로 하지 않고, 불특정 다수를 대상으로 로그인된 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행위(수정, 삭제, 등록, 송금 등)를 하게 만드는 공격이다.
XSS 공격과 매우 유사하며 XSS 공격의 발전된 형태라고 보기도 한다. 하지만 XSS 공격은 악성 스크립트가 클라이언트에서 실행되는 데 반해, CSRF 공격은 사용자가 악성 스크립트를 서버에 요청한다는 차이가 있다.
SQL Injection : 가장 빈번하게 일어나는 웹 해킹 공격이다.
웹 애플리케이션 사용자 입력값에 필터링이 제대로 적용돼 있지 않을 때 발생한다. 공격자가 조작된 SQL 질의문을 삽입해 웹서버 DB 정보를 열람하고 정보를 유출, 조작한다.
웹사이트 취약점을 찾아, SQL 명령어에 악성코드를 삽입해 해커가 원하는 식으로 조작한다. 개발자가 의도하지 않은 SQL 명령을 실행해 DB를 비정상적으로 조작한다. 이런 식으로 개발자 모르게 DB에 저장한 정보를 유출할 수 있다.
'CorE Project' 카테고리의 다른 글
HTTP METHOD (0) | 2020.07.13 |
---|---|
HTTP vs HTTPS 차이점 (0) | 2020.07.13 |
resultType 과 resultMap 의 차이점 (0) | 2020.06.28 |
<script> 태그 위치 (0) | 2020.05.23 |
Request, Response 객체 이해하기 (0) | 2020.05.08 |
댓글