ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 10주차 과제
    모의해킹스터디_과제 2024. 1. 12. 22:21

    [1] 오늘 수업 정리

    XSS - 쿠키 탈취

     

    [2] XSS 문제 풀이

    -> 보고서 작성

     

    [3] XSS 공격 시나리오 연구

    -> 블로그

     

    [4] 웹 개발


    [2] XSS 문제 풀이

    드디어 XSS 문제를 다 풀었다..

    (XSS 6는 제외, 아마 무슨 문제가 있는 듯 하다.) 

    1.XSS

     

    다른 문제들과는 달리 너무 안 풀려서 거의 2주 동안이나 붙잡고 있었고, 문제를 못 푸니 보고서도 넘어갈 수가 없고, 진짜 답답함 때문에 스트레스가 이만저만 아니었다.

     

    그래도 이렇게 초록색으로 채운 화면을 보니 뿌듯하다.

    이제 보고서를 써야하는데.. 이건 또 얼마나 걸릴지..

     

    늦었지만 지금부터라도 시작해서 다음주까지는 끝내야겠다.

     


    [3] XSS 공격 시나리오 연구

    XSS 문제를 풀어가면서 자연스럽게 체득(?)한 나만의 절차가 있다.

    XSS 포인트를 100% 찾는 팁 같은 건 아니라서 의미가 있나 싶긴 한데, 일단 한 번 정리는 해본다. 

     

    1. 페이지 뒤져보기

    가장 먼저 접근할 수 있는 모든 페이지에 들어가본다. 그냥 페이지에 들어가는 것뿐만 아니라 그 안에서 할 수 있는 걸 다 해보는 것이 중요하다. 목적은 나중에 확인할 수 있도록 Burp Suite에 HTTP history 기록을 남기는 것이다.

    1. 접근하는 페이지

     

    그리고 금지된 경우가 아니라면 XSS에 주로 쓰이는 특수문자 < " ' > 를 이용해서 입력해본다. 혹시라도 특수문자에 기본적인 대응을 하지 않은 취약점을 찾을 수도 있다. 

    2. 특수문자 < " ' > 입력

     

     

    2. 검색창에 입력하기

    검색창에 특수문자를 포함해서 여러가지를 입력해본다. 이것 또한 Burp Suite로 확인할 기록을 남기기 위함이지만, 먼저 직관적으로 Reflected XSS나 DOM Based XSS를 확인하기 위함이다. 그래서 검색어를 존재하는 것과 존재하지 않는 것 모두 확인하는 것이 중요하다.

    3. 검색어 입력

     

    찾다보면 검색어가 그대로 반환되는 페이지들이 있다. 이런 부분에 Reflected XSS나 DOM Based XSS 취약점이 존재할 가능성이 있다.

    4. Reflected XSS 취약점 

     

     

    3. Burp Suite로 요청, 응답 메시지 확인하기

    지금까지 페이지를 들어가면서, 검색어도 입력하면서 여러가지 기록이 쌓여있을 것이다. 이제 Burp Suite를 통해 request, response를 천천히 살피며 취약점을 확인한다.

    5. Burp Suite로 확인

     

    Burp Suite를 통해서는 search 기능을 통해 전에 입력한 특수문자 < " ' > response에 그대로 찍혀있는지를 가장 먼저 확인하는 것 같다. 가장 쉽게 스크립트를 삽입할 수 있다는 뜻이니까. 

    6. 특수문자 < " ' > 확인

     

     

    4. GET 방식의 파라미터 건드리기

    이 방법은 Reflected XSS와 DOM Based XSS 취약점을 확인하기 위함이다. GET 방식으로 전달되는 파라미터 중에서 response에 그대로 나타나는 부분이 있다면 값을 바꿔가면서 확인해본다.

    7. GET방식 파라미터_1
    8. GET방식 파라미터_2

     

    파라미터 값을 변경하고 보냈을 때 변화가 없는 페이지도 있겠지만, 어떤 곳은 특수문자도 그대로 보내는 페이지도 존재할 수도 있다.

    9. GET방식으로 스크립트 삽입

     

    혹여나 특수문자가 사용이 안된다면, 그 땐 다른 방법을 사용할 수도 있다. 중요한 건 변화가 그대로 적용된다는 것.

     

     

    5. Intercept 키고 다시 확인하기

    여기까지 했는데도 특별한 포인트를 못 찾았다면 기록을 삭제한 후 Intercept를 기능을 사용한다.

    10. Intercept

     

    다시 돌아가서 처음부터 지금까지의 과정을 Intercept를 통해 살펴보면 전에는 그냥 넘어갔던 포인트들을 포착하게 된다.

    11. Intercept 화면

     

    실제로 이 방법으로 오랫동안 못 찾았던 특수문자를 치환하는 과정에서의 취약점을 발견할 수 있었다. 

    12. Intercept로 찾은 취약점

     

     

     

     

    여기까지 잘 수행해도 공격 포인트를 못찾을 수 있다. 실제로 딱 한 문제(XSS 6)은 아직도 취약점을 못 찾았다.

    이건 아직 내가 부족한 탓이니 좀 더 배우고 실력을 쌓아야할 문제다.

    '모의해킹스터디_과제' 카테고리의 다른 글

    12주차 과제  (0) 2024.01.29
    11주차 과제  (0) 2024.01.17
    9주차 과제  (0) 2024.01.03
    8주차 과제  (0) 2023.12.22
    7주차 과제  (0) 2023.12.12
Designed by Tistory.