WebGoat 7.0/Access Control Flaws

    WebGoat :: LAB: Role Based Access Control# Stage 3

    Stage 3: Breaking Data Layer Access Control 일반 고용인인 'Tom' 으로 다른 고용인의 profile을 보는 데 취약한 접근 제어를 이용하시오. 풀이 Stage 1과 같이 파라미터 변조를 통해 문제를 풀 수 있습니다. 다만, DeleteProfile이 아닌 다른 고용인의 Profile을 보는 것이 다를 뿐입니다. 우선 Tom으로 로그인하여 ViewProfile할 때의 Request를 Proxy 툴로 잡습니다. 그 다음 employee_id의 값을 다른 값으로 바꾸면 다른 고용인의 profile을 볼 수 있습니다. 참 쉽죠?

    WebGoat :: LAB: Role Based Access Control# Stage 2

    Stage 2: Add Business Layer Access Control 이 Lesson은 WebGoat의 Developer version에서만 동작합니다. 삭제 기능에 대한 비인가 접근을 막기 위해 수정을 해라. 이를 위해, WebGoat code를 고쳐야 할 것입니다. 이 것을 할 때, stage 1을 반복하고, DeleteProfile 기능으로의 접근이 제대로 거부되는 지 확인해라. 풀이 (저의 모든 풀이는 WebGoat 7.0 기준임을 알려드립니다.) 주요 기능은 java 파일로 되어 import 되기 때문에 제대로 이해하기 위해선 WebGoat을 Eclipse에 연동시킬 필요가 있습니다. 연동시킨 후 이 문제에 해당하는 파일은 org.owasp.webgoat.plugin.rollbased p..

    WebGoat :: LAB: Role Based Access Control# Stage 1

    Stage 1: Bypass Presentational Layer Access Control. 규칙적인(?) 일반적인(?) 고용인 'Tom'으로 Staff List page에서 삭제 기능을 사용하도록 약한 접근 제어를 이용해라. Tom의 프로필이 삭제될 수 있는지 확인해라. 사용자들에 대한 패스워드들은 그들의 소문자로 표현된 이름으로 주어진다. (예를 들어 Tom Cat의 패스워드는 "tom" 이다.) 참고 Tom 으로 Tom의 프로필을 삭제(……?) 웹 프록시 사용 파라미터 조작을 통해 프로필을 삭제할 수 있다. 성공 모습.

    WebGoat :: Bypass a Path Based Access Control Scheme

    'guest'는 lessonPlans/en 디렉토리안의 모든 파일에 접근할 수 있습니다. 접근 제어 메커니즘을 깨고 디렉토리 목록에 없는 자원으로 접근해 보세요. 보려는 파일을 정하면, WebGoat은 그 파일에 접근할 수 있는 지 아닌 지 보고해 줄 겁니다. 시도하고 얻을 흥미로운 파일은 WEB-INF/spring-security.xml 같은 파일일 겁니다. 파일 경로는 WebGoat이 어떻게 시작되는 지에 따라 다르다는 것을 기억하세요. 참고 디렉토리 리스팅을 이용하여 다른 위치에 있는 파일에 접근하는 문제입니다. View File을 누르면 아래에 파일의 내용이 표시됩니다. 접근할 파일의 상대적 위치를 정확하게 확인하세요. (이거 때문에 denied 떠서 삽집…) 웹 프록시를 사용하세요. 설명의 마지..

    WebGoat :: Using an Access Control Matrix

    역할에 근거하는 접근 제어 scheme에서, 역할은 접근 권한과 특권 그룹을 대체합니다. 한 사용자는 하나 혹은 그 이상의 역할을 맡을 수 있습니다. 이 scheme는 일반적으로 역할 권한 관리와 역할 배정 2개 부분으로 구성됩니다. 깨진 scheme는 사용자가 허락되지 않은 역할로 접근하는 것을 허락하거나 어떻게든 승인되지 않은 역할로 점차 확대되는 특권을 허락할 것 입니다. General Goal(s): 각 사용자는 오직 특정한 자원에만 접근할 수 있는 역할의 구성원입니다. 당신의 목표는 이 사이트를 통치하는 접근 제어 정책을 탐험하는 것입니다. 오로지 [Admin] 그룹으로 'Account Manager' 자원에 접근해야 합니다. (하지만, [User, Manager] 그룹으로 접근해야 문제가 풀립..

글을 읽어주셔서 감사합니다.

이 블로그는 Google 광고 수익으로 콘텐츠를 만들고 있습니다.