3. 웹 애플리케이션 취약점 진단136 [비박스를 활용한 웹 취약점 진단] 10-2. 민감한 데이터 노출 [HTML5 웹 저장소 - Secret] HTML5는 웹 저장소를 사용해서 쿠키를 대체한다. 서버와 통신 시 매번 쿠키를 전송하지 않기 때문에 네트워크에서 안전하지만 클라이언트에서 정보 수정이 가능해서 XSS 공격에 취약하다. XSS 공격을 사용해서 HTML5 웹 저장소에 있는 내용이 노출될 수 있다. [난이도 하] 이번 페이지에서는 HTML5에 저장된 정보를 XSS로 확인해 보라고 한다. XSS-GET 페이지로 가야 XSS를 시도할 수 있을 것이다. 페이지로 이동 후 First name 변수에 HTML5 웹 저장소의 내용을 출력하는 스크립트를 입력한다. 로컬 저장소를 호출하여 존재하는 모든 키와 키값을 경고창으로 출력하는 내용이다. Last name 변수에도 아무 글자나 넣어주어 형식 오류가 나지 않도록 하자. 그 결과 HTML5 웹 저장소에.. 2023. 12. 14. [비박스를 활용한 웹 취약점 진단] 10-1. 민감한 데이터 노출 [HTTP 페이지 내 평문 데이터] 개인정보 처리 페이지에서 네트워크 프로토콜 보안은 필수이다. SSL을 사용하지 않으면 공격자에게 평문 데이터가 노출될 가능성이 존재한다. [난이도 하] 이번에는 칼리리눅스의 스니핑 도구인 Ettercap 프로그램을 이용해볼 것이다. 스니핑이란 서버와 클라이언트 사이 연결에 오고가는 패킷을 엿보는 공격이다. 평문으로 전송되면 패킷에 있는 데이터로 사용자 정보를 알아낼 수 있게 된다. 스니핑을 하려면 ARP 스푸핑이나 DNS 스푸핑 같은 방법을 이용해서 서버와 클라이언트 사이에서 공격자의 정체를 변조한다. ettercap -G 명령어로 에더캡을 GUI 모드로 실행한다. 관리자 계정이 아니라면 sudo를 앞에 붙여주어야 한다. 인터페이스가 기본적으로 eth0으로 되어있다. local loopback은 칼리 .. 2023. 12. 13. [비박스를 활용한 웹 취약점 진단] 10. 민감한 데이터 노출 [Base64 인코딩 복호화 - Secret] 민감한 데이터 노출은 클라이언트와 서버가 통신 시 암호화 프로토콜(SSL)을 사용하지 않아 발생하는 취약점이다. 사용자가 민감한 정보를 입력할 때에는 암호화 저장되어야 하며 데이터처리와 암호화 저장은 서버 기반에서 실행되어야 한다. 암호화 저장이 이루어지지 않으면 공격자가 중간에서 정보를 탈취할 수 있다. 또한, 데이터 처리와 암호화 저장이 클라이언트에서 이루어지는 경우에도 공격자는 클라이언트 PC를 장악해서 정보 탈취가 가능하기에 반드시 서버측에서 이루어지도록 해야한다. Base64 인코딩은 8비트 이진 데이터를 일종의 64진수 문자셋으로 변환하는 인코딩 기법이다. Base64는 이진 데이터를 6비트씩 표현한다. 아스키코드만으로 데이터를 인코딩하기에 플랫폼 제한 없이 사용할수 있으며, 이진 데이터가 6.. 2023. 12. 13. [비박스를 활용한 웹 취약점 진단] 9-1. 보안 설정 오류 [안전하지 않은 WebDAV 설정] WebDAV란? - 원격으로 웹서버를 제어할 수 있는 HTTP 프로토콜의 확장 기능이다. 취약하면 공격자는 이 확장 기능을 이용해서 악성 스크립트가 포함된 파일을 업로드해서 서버에 침투할 수 있으며, 기존에 있던 파일을 수정할 수도 있다. 몇몇 서비스에서 PUT 메소드를 허용하기에 악성 웹셸이 업로드 되는 경우가 있다. [난이도 하] /webdav 디렉터리로 이동하면 index of 보안 설정이 안되있어 디렉터리 내부가 노출된다. 칼리 리눅스로 telnet 80 포트로 연결해서 메서드 허용 설정이 어떻게 되어있는지 확인해보면 DELETE,MOVE 등 모든 메서드가 허용되어있다. 이제 webdav 페이지에 대한 요청을 PUT으로 변경하기 위해 버프슈트로 캡쳐하자. GET 부분을 PUT 메소드로 변경하고 옆.. 2023. 12. 13. 이전 1 ··· 20 21 22 23 24 25 26 ··· 34 다음