2017. 7. 23.

[웹 취약점] 개발자 도구를 이용한 웹 취약점 점검

보안인닷컴 사이트에서 stegano 님이 개발자 도구로 웹 취약점 점검을 한다는 내용을 보게 되었다. 글이 굉장히 유용하고 업무에도 활용하면 좋겠다고 판단하여 해당 내용을 보기 편하게 정리하기로 했다.

웹 취약점 점검을 할 때 자동 점검 툴로 스캔을 하는 것 외에 프록시 툴을 이용하여 동적 진단을 하는 경우도 많다. Burp suite 나 Paros 가 가장 널리 사용되는 프록시 툴이다. 장단점이 있겠지만 프록시 툴을 이용하면 매번 패킷을 인터럽트 해야 해서 번거로울 수도 있다.

본 포스팅에서는 프록시 툴이 아닌 웹 개발자 도구를 이용하여 웹 취약점을 수행하는 기법에 대해 정리하려고 한다.

크롬에서는 ctrl+Shift+C 이고, 익스프롤러에서는 F12 를 누름으로써 개발자도구를 실행 할 수 있다.

1. 유효성 검사 우회

크롬 개발자 도구의 inspect (Ctrl+Shift+C) 기능을 활용하여 유효성 검사 우회 점검을 할 수 있다. 이 기능을 활용하면 마우스로 웹 브라우저를 선택함으로써 해당 부분의 소스코드를 확인 할 수 있다. 또는 ctrl + F 로 특정 함수 (onSubmit 또는 onClick) 를 검색해서 소스를 보면 이후 호출되는 함수를 확인 할 수 있다.














만약 함수명이 fregister_submit(this); 이라면, console 탭에서 해당 함수를 Overwriting 하여 유효성 검사하는 로직을 없애 버릴 수도 있다.


2. 파일 업/다운로드 취약점

1) 파일마다 서버와 통신한결과를 보여준다. 어떤 파라미터를 넣어서 요청했고 응답이 왔는지 볼 수 있다. 주로 파일 업/다운로드 취약점, 서버정보 취약점을 발견할 때 사용된다.


3. 자바스크립트 코드를 이용한 웹 페이지 소스 분석
자바스크립트를 이용하여 필요한 부분의 객체를 찾아내거나 페이지내에서 중요한 정보를 찾아내는 스크립트를 작성하여 사용 할 수 있다.



리스트업 된 값을 변조 할 수 있다. console 창에서 WSS.setv("key", "value");
즉 예를 들면

위 사진과 같이 입력하면, 히든 필드 sm의 값이 HI 로 변경된 것을 알 수 있다.


참고 - < button과 submit의 차이점 >
<input type="button" value="회원가입" />
<input type="submit" value="회원가입" />

button인 경우에는 onClick="함수()"이 이벤트가 실행되고, submit인 경우에는 onClick="함수()"과 더불어 onSubmit="return 함수()" 가 실행된다.

Popular Posts

Recent Posts

Powered by Blogger.