본문 바로가기

비박스62

[비박스를 활용한 웹 취약점 진단] 13. 알려진 취약점이 있는 컴포넌트 사용 [PHP CGI 원격 실행 공격] 웹 서비스를 운영하는데 다양한 모듈과 라이브러리를 사용한다. 아파치나 톰캣같은 오픈소스 프로젝트들이 많은 서비스에서 활용된다. 이러한 컴포넌트들이 보안상 안전하기 위해서는 정기적인 보안 패치가 필요하지만 수많은 기능을 완벽 대응하는것은 어렵다. 패치가 아직 이루어지지 않은 상태에서 발생하는 제로데이 공격일때는 침해 위협 탐지 모니터링 강화 및 소스코드 수정을 통해 대응한다. PHP CGI 취약점(CVE-2012-1823)은 PHP 5.4.12 이전 버전의 sapi/cgi/cgi_main.c에서 CGI 스크립트가 질의 문자열을 제대로 처리하지 못해 발생하는 취약점이다. 명령어 라인 옵션을 질의 문자열에 포함해서 원격 명령을 실행할 수 있다. PHP는 CGI 기반으로 'mod_cgid' 모듈을 사용해서 동작.. 2023. 12. 14.
[비박스를 활용한 웹 취약점 진단] 12-2. 크로스 사이트 요청 변조(CSRF) [Transfer Amount] [난이도 하] 이번 페이지는 계좌이체 기능을 제공한다. 현재 계좌의 돈이 1000 EUR이다. CSRF 취약점을 이용해서 계좌에 있는 돈을 수정해보자. GET 방식이기에 account와 amount 변수를 노출하고 있다. 악성 img 태그를 만들어 htmli_stored 페이지에 올려보자. 악성 img 태그를 삽입해 주었다. -값을 넣어줌으로써 계좌의 돈이 증가할 것이다. 이제 계좌의 돈을 확인해보자. 계좌의 금액이 100유로가 증가하였다. 그리고 게시판 페이지에 사용자가 방문할 때마다 100유로가 증가하고 있는것을 볼 수 있다. 이 금액을 이제 다른 계좌로 강제 이체 시켜보자. 코드를 이용, 111-11111-11 계좌에 6000 유로를 강제 이체시키고 계좌의 남은 잔액을 보니 -4300이 된 것을 확.. 2023. 12. 14.
[비박스를 활용한 웹 취약점 진단] 12-1. 크로스 사이트 요청 변조(CSRF) [Change Secret] [난이도 하] 이번 페이지는 비밀번호 힌트를 변경하는 페이지이다. 관리자도구를 보면 hidden 타입으로 된 login 변수를 보니 login 변수가 아이디 값을 입력받는 변수인듯 하다. 또한 버프슈트에서도 3개의 변수를 확인 가능하다. login 변수에 다른 사용자 아이디를 입력해서 비밀번호 힌트를 바꾸는 CSRF 공격을 해보자. htmli_stored 페이지의 게시판에 전처럼 img 태그를 업로드 할것이다. 2023. 12. 14.
[비박스를 활용한 웹 취약점 진단] 11-5. 기능 수준의 접근 통제 누락 [XML 외부 엔티티 공격] XXE(XML External Entity) 공격에는 SYSTEM 키워드를 사용한다. 이 키워드로 XML 파서를 발생하게 하면 페이지의 내용을 대체하는 권한이 생기고, 공격자는 XML 파서로 서버 시스템에 접근할 수 있다. [난이도 하] 이번 페이지는 비밀번호 힌트를 초기화 하는 기능을 XML 코드로 제공한다. 저번 문제에서 한것과 같이 버프슈트로 요청을 캡처한 뒤 Repeater로 보내자. ]> &bWAPP;blah 이번에도 Raw로 변경 후 외부 엔티티 참조 코드를 넣어주었다. bWAPP이라는 외부 엔티티를 선언하고 서버의 passwd 파일을 출력한다. 엔티티 선언 후에는 선언한 엔티티 참조를 위해 &bWAPP; 을 변수에 입력하여 넣어주었다. 그랬더니 우측에 passwd 파일이 노출된 것을 볼 수 .. 2023. 12. 14.