용테크
[JSP,Servlet] Burp Suite 사용하기 본문
프로젝트 보안점검중 크로스 사이트 스크립팅과 관련하여 클라이언트의 요청을 우회할수 있는 툴인 Burp Suite를 사용해 보았다.
이 툴을 이용하게 되면 javascript를 이용한 validation체크를 우회할 수 있다.
이 말은 웹 사이트의 보안을 유지하려면 client단에서의 javascript 유효성 체크뿐만 아니라 서버단에서의 유효성 체크도 해야 한다는 것이다. 이 툴을 사용하니 내가 작성한 소스가 단번에 해킹 당하는걸 보았다.. server단에도 secure coding이 필수적이다.
Burp Suite의 동작 원리는 간단하다.
1. local PC 웹 브라우저에서 naver.com HTTP request
2. proxy server(Burp Suite)
3. 네이버 사이트 접속
4. 네이버 사이트 HTTP response
5. Proxy server(Burp Suite)
6. local PC 웹 브라우저
위의 순서를 보면 HTTP 요청과 응답 시 항상 proxy server를 거쳐 데이터가 이동하게 되는데 이곳에서 웹 사이트의 우회 공격을 할 수 있게 조작을 할 수 있는 것이다.
가령 response 응답의 HTML에서 자바스크립트 패스워드 유효성 체크 로직 부분을 삭제한 후 local PC 웹 브라우저에 return하게 되면 사용자 웹 브라우저에는 패스워드 검증 로직은 삭제되어 있는 HTML 결과 페이지를 받게 되는 것이다.
Burp Suite 설치
portswigger.net/burp 에서 다운로드 받는다. jar로 되어 있고, 로컬 PC에 Java JDK가 설치되어 있어야 한다.
Burp Suite - Application Security Testing Software
Get Burp Suite. The class-leading vulnerability scanning, penetration testing, and web app security platform. Try for free today.
portswigger.net
Burp Suite 사용법
1. Burp Suite 실행 > Proxy 탭 이동 > 바로 아래에 있는 Options 클릭 후 다음과 같이 설정
2. 설정 -> 네트워크 및 인터넷 -> 프록시 -> 수동 프록시 설정에서 프록시 서버 사용을 켜주고, 주소 및 포트에 1.에서 추가한 주소를 입력한 후 저장한다.
3. Proxy 탭의 Intercept 클릭 -> Intercept is on 클릭
브라우저에서 테스트할 URL 입력하면 화면이 멈추게 되는데 이때 Burp Suite 화면에 가서 Forward를 클릭하면 정상적으로 페이지 로딩이 되며, intercept한 요청의 파라미터를 변조하여 보내는것이 가능하다.
'JAVA > JSP,Servlet' 카테고리의 다른 글
[JSP,Servlet] XSS(크로스사이트 스크립팅)처리 (2) | 2020.07.30 |
---|---|
[JSP,Servlet] Servlet Filter (0) | 2020.07.30 |