ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • BWAPP 4주차(cross-site scripting get, post)
    보안/WEB HACKING 2024. 3. 14. 13:53

    Cross-site scripting – Reflected (GET)

    난이도 : low

    Quest. xss 취약점이 있는지 알아봅시다. 다음 화면을 띄워보세요.

    경고창을 누른 후 화면 (Welcome success 출력)

    Hint1. 스크립트 태그 안에 alert함수를 넣어 경고창을 띄울 수 있습니다.

    Hint2. First name과 Last name에 각각 공격을 하면 어떤 결과가 나오는지 알아봅시다.

    h1태그를 사용하면 그냥 입력한대로 태그가 나온다. 따라서 hint 1을 이용해 first name 에 alert 를 입력해주자.

    <script>alert("XXS")</script>

    welcome success 를 출력해야 하므로 last name 에 success를 입력해주자

     

    ok 클릭 시


    난이도 : medium

    Hint1. xss 공격을 막는 함수가 있는 것 같습니다. 소스코드를 살펴봅시다.

    Hint2. xss_check_4가 어떤 함수인지 알아봅시다.

    Hint3. 함수 정보는 functions_external에 저장되어 있습니다.

    Hint4. addslashes함수가 어떤 문자를 필터링하는지 알아봅시다.

    페이지 소스코드를 확인해보자.

    그리고 현재 level value 값은 1이다. xss_get.php에 들어가자.

    xxs_check_4는 functions.external에 존재한다. hint3를 이용해서 functions.external에 들어가서 어떤 내용인지 확인해보자.

    hint 4를 확인자하.addslashes함수는 데이터베이스 쿼리 등에서 따옴표로 묶어야 하는 문자 앞에 백슬래시가 있는 문자열을 반환한다. 검색 결과 백틱이나 / 를 추가해주면 해결할 수 있다고 한다.

    따옴표 없는 걸 넣었을 때


    난이도 : high

    필터링을 우회해서 공격해보세요. 그러나 공격이 통하지 않습니다. 그 이유를 정리해주세요.

    Hint1. xss_check_3 함수를 살펴봅시다.

    Hint2. htmlspecialchars함수가 원인인 것 같습니다. 어떤 함수인지 알아봅시다.

    xxs_check_3 함수를 확인해보자.

    htmlspecialchars 함수는 특수문자를 UTF-8로 반환해주는 함수이므로 풀 수 없다.


    Cross-Site scripting – reflected(POST)

    Quest. GET방식과 POST방식의 차이에 대해 간단히 정리해봅시다.

    get 방식은 서버 리소스에서 데이터를 요청할 때 사용되는 반면 post 방식은 서버의 리소스를 새로 생성하거나 업데이트할 때 사용된다.

     

    Quest. 다음 화면을 띄워보세요.

    난이도 : low

    경고창을 누른 후 화면 (Welcome success 출력)

    Hint1. GET방식에서 썼던 공격을 잘 생각해보세요.

    <script>alert("XXS")</script>를 사용해서 입력하자.

     


    난이도 : medium

    Quest. 다음과 같이 사용자의 쿠키 값을 경고창에 출력해보세요.

    Hint1. 사용자의 쿠키 정보는 document.cookie에 저장되어 있습니다.

    Hint2. alert함수에 사용자의 쿠키 정보를 알 수 있는 경로를 넣으면 될 것 같습니다.

    hint1과 hint2를 이용해서 first name에 <script>alert(document.cookie)</script>를 입력해보자.

    level=0

    level=1일 때

    '보안 > WEB HACKING' 카테고리의 다른 글

    XSS game 01, 02 (6주차)  (0) 2024.03.14
    BWAPP 5주차(cross-site scripting stored)  (0) 2024.03.14
    BWAPP 3주차(post, search)  (0) 2024.03.14
    BWAPP 2주차(reflected-post, stored)  (0) 2024.03.14
    BWAPP 1주차(reflected-get)  (0) 2024.03.14
Designed by Tistory.