Wargame | CTF

    Juice Shop - Basket Access Tier 1(★★) 풀이

    다른사람의 장바구니를 들어가 보라고 합니다. 먼저 제 장바구니를 요청할 때 어떻게 서버에 요청을 하는지 확인해 보면 조작이 가능할 것 같습니다. 역시 버프슈트를 사용하였구요. 장바구니를 요청할 때, 뭔가 숫자가 붙어있는걸로 봐서 이 숫자가 아마 각 장바구니에 부여된 숫자 같습니다. 해당 숫자 4를 1로 바꾸어서 포워드 해주었습니다. 제 장바구니가 아닌 다른 사람의 장바구니가 나왔네요.

    Juice Shop - Zero Stars(★) 풀이

    피드백을 보낼때 별점을 0점으로 보내라고 하네요. Contact us 를 통해서 Feedback을 보낼 수 있습니다. 하지만 별점은 1이상만 가능하네요 버프슈트를 이용하여 요청을 가로채줍시다. 현재 서버가 로컬에 있기때문에 로컬로의 요청을 잡기 위해서는 localhost 옆에 .(점) 을 붙여 주어야 버프슈트에 잡힙니다. http://localhost.:3000 이런식으로 요청을 해줘야 합니다.다시 문제로와서 rating 부분을 0으로 바꿔준 뒤, 포워드 해줍니다. 0점의 피드백이 정상적으로 전송되었네요.

    Juice Shop - XSS Tier 1(★) 풀이

    또 크로스 사이트 스크립팅 문제입니다. 이 문제는 DOM XSS 공격을 요구하는데요 DOM(Document Object Model) XSS 공격이란 DOM 환경에서 악성 URL을 통해 사용자의 브라우저를 공격하는 방식입니다. 검색을 하는 부분에 XSS 공격이 가능합니다. XSS 공격이 성공하였고, Search의 결과로 iframe 창이 조그맣게 생겼네요

    Juice Shop - XSS Tier 0(★) 풀이

    크로스 사이트 스크립팅 문제입니다. XSS중 reflected XSS 관한 문제인데요. 말그대로 반사되서 나오는, 즉각적인 반응을 보이는 그런 XSS 공격 기법을 수행하면 됩니다. 여러 페이지에 접근하여 XSS를 시도 했는데요. reflected XSS에 적합한 페이지는 track-order 입니다. 제일 잘 알려진 는 개발자가 슬러쉬를 예외처리 해놓았는지 작동하지 않아서 문제에 나와있는 iframe을 사용하였습니다. reflected XSS 공격이 성공하였네요.

    Juice Shop - Redirects Tier 1(★) 풀이

    현재 웹페이지에서 서비스 하고있지 않은 도네이션 사이트로 리다이렉션을 시키라고 하는데요. 그냥 그 도네이션 웹 페이지 주소를 찾아서 페이지 요청을 하면 될것 같네요. 뭔가 사이트를 리다이렉션해주는 곳을 찾아보니 Payment 쪽에 있었습니다. 그냥 main.js 안에서 redirect?to 를 검색하여 리다이렉션해주는 URL을 찾아보았는데 현재 서비스 중이 아닌 URL을 찾았고, 해당 URL에 페이지를 요청하니 클리어가 됐습니다.

    Juice Shop - Error Handling(★) 풀이

    에러를 발생시키는 문제입니다. 에러를 통해서 취약점이 있는지 점검해볼 수 있습니다. 이메일 필드, 패스워드 필드에 각각 싱글쿼터를 넣어봅니다. 패스워드 부분에는 싱글쿼터에 대한 오류를 발생시키지 않았지만, 이메일 부분에는 싱클쿼터에 대한 오류 핸들링을 제대로 하지 못하는 모습이 보였습니다. 싱글 쿼터를 처리해주지 못하면 sql 인젝션이 가능해 집니다.

    Juice Shop - Confidential Document(★) 풀이

    기밀문서에 접근하라는 문제입니다. about us 라는 곳으로 가면 이 홈페이지의 정책을 바로 다운받게 하는 링크가 있는데요. 이 링크의 URL을 보면 ftp라는 경로에서 받는것으로 보입니다. 직접 URL을 쳤더니 접근이 가능합니다. 다른 문서들을 열람 가능합니다.

    Juice Shop - Score Board(★) 풀이

    스코어 보드를 찾는 문제입니다. 쥬스샵 설치 후 맨 먼저 풀어야 할 문제입니다. 브라우저의 F12 버튼을 눌러 개발자모드를 켜준 뒤, Debugging 탭에 main.js를 들어가 줍니다. main.js 안 하단에 접근이 가능한 path가 나와 있네요. url을 치고 들어가면 끝입니다.

    Juice Shop - Admin Section(★) 풀이

    관리자 페이지를 찾는 문제입니다. main.js 안에 페이지 목록들이 적혀 있네요. administration 이라는 경로가 관리자 페이지 임을 예측해 볼 수 있습니다.url 을 입력하여 접속하니 관리자 페이지에 정상적으로 접근이 가능합니다.

    CodeEngn Advance08 풀이

    후 너무 오랜만에 리버싱 포스팅을 하네요. 키값이 저거일때, Name을 구하라고 합니다. 패킹은 되어있지않네요. 일단 프로그램의 메인을 가주고, 문제에서는 Name이 2글자라고 했으므로, 글자수를 비교하는부분을 찾아서 2글자로도 통과되도록 패치해주었구요. 암호화 루틴도 발견했습니다. 사용자가 Name에 입력한 값을 한글자씩 받아와서 키값을 만듭니다. 사실 키 제너레이트 과정따라서 코드짜서... 0-9 a-z 브루트포싱 해보면되는데.. 너무 길어요ㅋㅋㅋㅋ 귀찮아졌습니다. 딱히 분석해도 시간낭비일것 같네요.

    웹고트 Cross-Site Scripting (XSS) - CSRF Token By-Pass

    CSRF 레슨과 마찬가지로, 자금을 이체하려는 악의적 인 요청을 포함하는 전자 메일을 뉴스 그룹에 보내는 것이 목표입니다. 성공적으로 완료하려면 유효한 요청 토큰을 얻어야합니다. 이전 자금 양식을 표시하는 페이지에는 유효한 요청 토큰이 들어 있습니다. 전송 자금 페이지의 URL은이 강의의 "Screen"및 "menu"쿼리 매개 변수와 추가 매개 변수 인 "transferFunds = main"이있는 "attack"서블릿입니다. 이 페이지를로드하고 토큰을 읽은 후 자금을 이전하기위한 위조 된 요청에 토큰을 추가하십시오. 공격이 성공했다고 생각하면 페이지를 새로 고침하고 왼쪽 메뉴에서 녹색 확인을 찾습니다. 앞전 문제와 달리 유효한 토큰을 얻어야합니다. 해당코드를 넣어줍니다.

    웹고트 Cross-Site Scripting (XSS) - Cross Site Request Forgery (CSRF)

    귀하의 목표는 뉴스 그룹에 이메일을 보내는 것입니다. 전자 메일에는 URL이 악의적 인 요청을 나타내는 이미지가 있습니다. 이 레슨에서 URL은 레슨의 "Screen"및 "menu"매개 변수가있는 "attack"서블릿과 5000과 같은 임의의 숫자 값을 갖는 추가 매개 변수 "transferFunds"를 가리켜 야합니다. 링크를 구성하려면 "Screen "및 "menu"값을 오른쪽에있는 매개 변수에 삽입합니다. 그 당시 인증 된 CSRF 이메일을받는 사람은 자금을 이전하게됩니다. 이 레슨의 공격이 성공하면 왼쪽 메뉴의 레슨 이름 옆에 초록색 체크 표시가 나타납니다. CSRF 는 사용자의 의지와는 상관없이 공격자가 의도한 행위(수정, 삭제, 등록 등)를 특정 웹사이트에 요청하게 하는 공격입니다. 현재는 매..

    웹고트 Concurrency - Shopping Cart Concurrency Flaw

    이 실습을 위해, 당신의 임무는 당신이 저렴한 가격에 상품을 구매할 수있게하는 동시성 문제를 이용하는 것입니다. 먼저 동시성을 이용하기위해 똑같은 웹페이지를 하나더 열어줍니다. 두개의 웹페이지는 세션도 동일합니다. 페이지1에서 1개만 구입을 한뒤, Purchase 버튼을 눌러줍니다. 그리고 페이지2에서는 원하는수량을 입력후에 Update Cart버튼을 눌러 카트를 업데이트 해줍니다. 사용자는 1개로 결제를 눌렀지만 동시성취약점으로 카트안에는 여러개의 물품이 들어가게 되었습니다. 여러개의 물품을 단1개의 물품가격으로 구매하였습니다.

    웹고트 Access Control Flaws - Bypass a Path Based Access Control Scheme

    'guest'사용자는 lessonPlans / en 디렉토리에있는 모든 파일에 액세스 할 수 있습니다. 액세스 제어 메커니즘을 해제하고 나열된 디렉토리에없는 자원에 액세스하십시오. 보려는 파일을 선택한 후 WebGoat는 파일에 대한 액세스 권한이 부여되었는지보고합니다. 시도하고 얻을 흥미로운 파일은 WEB-INF / spring-security.xml과 같은 파일 일 수 있습니다. 파일 경로는 WebGoat이 시작되는 방법에 따라 달라진다는 것을 기억하십시오. 파일이라는 파라미터로 파일의명을 넘겨주고 있습니다. 해당 파라미터를 이용하여 현재 있는 폴더에있는 파일을 불러오는것 같습니다. 그러면 상대경로를 이용하여 다른 폴더에 참조할 수 있을것 같습니다. WebGoat 폴더 접근을 위해서 상대경로를 이용해..

    웹고트 Cross-Site Scripting (XSS) - LAB: Cross Site Scripting (Stage5)

    검색 스태프 페이지의 취약점을 사용하여 반사 된 XSS 공격이 포함 된 URL을 조작하십시오. 링크를 사용하는 다른 직원이 공격의 영향을 받는지 확인하십시오. Larry라는 사원 아이디로 로그인하고, Tom이라는 사원아이디를 검색합니다. 다른사원임에도 불구고 EditProfile 이 가능하였으며 내용을 수정한 후에 UpdateProfile도 가능합니다. admin 계정의 Profile도 수정이 가능합니다. 이제 한곳을 선택하여 그 input 박스에 script 를 추가해줍니다. 성공적으로 XSS공격이 실행되었음을 알 수 있습니다. 다른 직원이 본인의 Profile을 확인할 때 script가 실행됩니다