WebGoat

    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: Client Side Filtering# Stage 2

    이제, 이 문제를 고쳐봅시다. 오직 Moe Stooge가 볼 수 있는 결과만을 돌려주도록 서버를 수정하세요. 풀이 어…jsp 파일의 위치를 찾았네요…ㅎㅎㅎ /WebGoat/webgoat-container/target/webgoat-container-7.0-SNAPSHOT/plugin_extracted/plugin/ClientSideFiltering/jsp/clientSideFiltering.jsp 그리고 이 디렉토리는 /WebGoat-Lessons/client-side-filtering/src/main/resources/plugin/ClientSideFiltering/jsp 와 /webgoat/WebGoat-Lessons/client-side-filtering/target/classes/plugin/Cl..

    WebGoat :: LAB: Client Side Filtering# Stage 1

    당신은 Goat Hills Financial의 CSO인 Moe Stooge로 로그인 됐습니다. 당신은 CEO인 Neville Bartholomew를 제외한 회사의 정보 안에 있는 모든 이에게 접근이 가능합니다. 아니면 적어도 CEO의 정보만 접근을 하면 안 됩니다. 연습으로, 당신이 찾을 수 있는 다른 정보가 무엇인지 보기 위해 페이지의 내용을 조사하십시오. 풀이 하…Stage 2 포스팅 하다가 덮어씌워서 다시 작성…하… 이 문제는 Client Side Filtering이기 때문에 Proxy는 필요가 없습니다. Client 측에서 조작을 통해 문제를 풀어야 하며, 이를 위해 각 브라우저에서 제공하는 개발자 도구를 이용하겠습니다. 저는 Kali Linux의 iceweasel(firefox) 로 문제를 풀었..

    WebGoat Developer Ver. Eclipse 연동

    WebGoat의 Developer Version은 Eclipse를 통해 Source를 수정할 수 있으며, 이를 통해 해결해야 하는 문제가 있습니다. 이번 포스팅에서는 WebGoat을 Eclipse에 연동하는 방법을 다루려 합니다. 사전 작업 WebGoat을 Eclispe에 연동시키기 위해서는 우선 Eclipse에 Tomcat 이 연동되어 있어야 합니다. Eclipse Tomcat 연동 방법 Tomcat-users.xml의 내용을 아래와 같이 바꿉니다. WebGoat의 WAR파일을 원하는 곳으로 복사시킵니다. # cd # cd WebGoat # mvn package # cp webgoat-container/target/webgoat-container-7.0-SNAPSHOT.war /webapps/ 복사한 ..

    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 광고 수익으로 콘텐츠를 만들고 있습니다.