웹 해킹
-
모의해킹의 열두 번째 자바 역직렬화 취약점 공격웹 해킹 2021. 3. 25. 22:52
자바 역직렬화 취약점은 발견되면 공격자가 원격에서 코드를 실행할 수 있는 RCE(Remote Code Execution) 공격으로 이어지기 때문에 매우 심각한 영향을 줄 수 있는 취약점이다. 자바 프로그램상에서 어떤 객체가 생성되면 그 객체는 메모리에 상주하게 되고, 프로그램이 실행되는 동안 필요에 따라 사용된다. 그런데 프로그램이 종료되면 메모리에 있던 객체는 사라지게 된다. 객체에는 저장한 데이터가 있는데, 그 데이터를 다음 번에 계속 사용해야 한다면, 메모리에 상주하던 객체와 그 데이터를 파일이나 데이터베이스 등에 저장해 두어야 할 것이다. 이때 저장을 하기 위해 객체르르 바이트 스트림이라는 순차적인 데이터로 변환하는 과정을 거치는데, 이것을 직렬화라고 한다. 역직렬화는 반대로 저장되어 있는 바이트..
-
모의해킹의 열한 번째 알려진 취약점을 이용한 공격웹 해킹 2021. 3. 23. 14:12
최근 개발 환경 추세에서는 오픈소스 라이브러리를 사용하는데, 오픈소스에서 발생하는 대부분의 취약점은 CVE 데이터베이스를 통해 공개된다. 공격자는 CVE 데이터베이스를 통해 알려진 취약점에 대한 정보를 쉽게 찾고 공격에 사용한다. 원래 취약점이 공개되면 CVE-[발견연도]-[일련번호]와 같은 CVE ID가 지정되어 관리된다. 하트블리드 취약점 공격 실습 하트블리드 취약점을 이용하면 공격자가 웹 서버 호스트의 메모리를 읽을 수 있게되어 사용자의 로그인 정보 및 그 밖에 노출되면 안되는 민감한 정보들을 탈취할 수 있다. 위 그림의 8443포트는 HTTPS 프로토콜로 접속해야 하는 포트이다. 위 그림에서 Confirm Security Exception 버튼을 눌러 예외처리를 한다. 그리고 다시 bWAPP에 접..
-
모의해킹의 열 번째 XXE 공격웹 해킹 2021. 3. 22. 13:54
XXE (XML eXternal Entity, XML 외부 엔티티) 취약점은 XML 타입의 데이터가 웹 요청을 통해 전송되고, 서버에서 XML 외부 엔티티를 처리할 수 있도록 설정된 경우 나타날 수 있다. 사용자가 웹 애플리케이션으로 전달되는 XML 데이터를 직접 업로드하거나 수정할 수 있는 경우, 공격자는 외부 엔티티를 참조하는 XML 데이터를 전송하여 파일과 같은 서버 내부의 정보를 탈취하거나 서비스 거부 공격, SSRF 등의 공격을 수행할 수 있다. XXE 공격 실습 위 버튼을 누르면 사용자의 시크릿이 버튼에 표시된 문자열로 초기화되는 기능이 구현되어 있다. 위 그림과 같이 Content-Type 헤더가 text/xml 타입으로 설정되어 있고, XML 데이터가 전송되고 있다. 앞에 bee는 로그인 ..
-
모의해킹의 아홉 번째 접근 통제 취약점 공격웹 해킹 2021. 3. 19. 16:08
우선 취약한 통제 리스크의 사례를 알아보겠다. - URL이나 파라미터를 조작하여 다른 사용자의 리소스에 접근하거나 허용되지 않은 기능을 실행할 수 있는 경우 - 적절한 인증 및 인가 과정을 거치지 않고 관리자 페이지 접근할 수 있는 경우 - 디렉토리 트래버셜 취약점과 같이 웹 디렉토리 경로를 벗어난 호스트 내부 경로의 리소스에 접근할 수 있는 경우 안전하지 않은 직접 객체 참조(IDOR 공격) 공격자가 요청 메세지의 URL이나 파라미터를 변경하여 정상적으로 혀용되지 않은 기능을 실행하거나 다른 사용자의 리소스에 접근할 수 있는 공격이다. 공격자는 항상 요청 메세지의 어떤 부분이든 마음대로 변경할 수 있다는 것을 항상 염두에 두어야한다. IDOR 공격 실습을 해보겠다. 버프 스위트의 인터셉트 기능을 이용하..
-
모의해킹의 여덟 번째 민감한 데이터 노출웹 해킹 2021. 3. 18. 22:01
민감한 데이터에 포함되는 것들은 각종 개인정보, 로그인에 사용되는 정보, 업무상 기밀등 비공개로 관리되는 정보이다. 민감한 데이터 노출 리스크는 HTTP 프로토콜을 사용하여 전송되는 경우, 평문으로 저장되는 경우, 안전하지 않은 암호화 방식을 사용하는 경우에 발생한다. 네트워크 스니핑은 네트워크의 데이터들을 모니터링하는 기술이다. 네트워크 스니핑 프로그램 중 tcpdump와 와이어샤크가 있다. tcpdump 프로그램을 이용하여 HTTP 프로토콜로 전송되는 사용자 계정 정보를 확인하겠다. 위 명령어를 실행해둔 채로 bWAPP의 clear Text HTTP 메뉴로 가서 로그인한다. 웹 스토리지 기능은 웹 애플리케이션이 사용자의 웹 브라우저에 데이터를 저장할 수 있는 기능이다. 웹 스토리지 중 로컬 스토리지에..
-
모의해킹의 일곱 번째 파일 공격웹 해킹 2021. 3. 17. 15:06
파일 공격중에서 파일 인클루전 공격은 주로 PHP 애플리케이션을 대상으로 발생한다.PHP는 인클루드 기능인 include() 함수를 이용하여 다른 파일을 소스 코드에 직접 포함시킬 수 있다. 이때 인클루드할 파일을 외부 사용자가 지정할 수 있는 경우 파일 인클루전 취약점이 존재하게 되고, 공격자는 본인이 원하는 파일을 인클루드시킬 수 있다. 파일 인클루전 공격은 공격자가 인클루드할 수 있는 파일이 각각 호스트 내부의 파일인지 외부의 파일인지에 따라 로컬 파일 인클루전(Local File Inclusion, LFI)과 리모트 파일 인클루전(Remote File Inclusion, RFI)의 두 종류로 구분할 수 있다. ../../../../../etc/passwd와 같이 입력하여 root 디렉토리까지 이동..
-
모의해킹의 여섯 번째 CSRF 공격웹 해킹 2021. 3. 16. 13:27
CSRF는 Cross Site Request Forgery의 약자로, 크로스 사이트 요청 변조라고 한다. CSRF 취약점의 공격 방법은 공격자가 피싱을 이용하여 공격 대상이 되는 사용자에게 악성 링크를 누르게 하고, 링크를 클릭하면 사용자 모르게 사용자가 로그인되어 있는 웹사이트의 어떤 기능을 실해하는 것이다. 패스워드가 변경된다는 것이 하나의 예이다. CSRF 취약점은 크로스 사이트와 동일하고 두 공격 모두 공격 과정에서 피싱을 이용하는 특성이 있다. 패스워드 변경의 예로 CSRF 공격 순서를 보면, - 사용자가 웹사이트에 정상적으로 접속하여 로그인한다. - 웹사이트에 로그인되어 있는 동안, 공격자가 이메일을 보내 악성 코드를 포함하는 링크를 클릭하도록 피싱을 한다. - 사용자가 링크를 클릭하면, 공격..
-
모의해킹의 다섯 번째 XSS 공격웹 해킹 2021. 3. 15. 14:16
XXS 공격은 크로스 사이트 스크립팅 공격이라고 하는데, 크로스 사이트 스크립팅 공격은 공격자가 악의적인 스크립트 코드를 웹 애플리케이션에 삽입한 후 웹 사용자의 웹 브라우저에서 해당 코드가 실행되도록 만드는 공격이다. 크로스 사이트 스크립팅 공격은 서버의 취약점을 이용하여 클라이언트 쪽을 공격한다는 특징이 있다. 주요 사례중 세션 쿠키를 탈취하는 사례가 있다. 이 역시 클라이언트의 웹 브라우저에 있는 세션 쿠키를 자바스크립트를 이용하여 읽어서 알아내는 것이다. 자바스크립트를 이용하여 공격을 수행하는 특징 때문에 자바스크립트에 따라 다양한 형태의 공격을 시도할 수 있다. 크로스 사이트 스크립팅 공격은 공격자가 삽입한 스크립트 코드가 언제 실행되는지에 따라 크게 리플렉티드 와 스토어드 크로스 사이트 스크립..