2024. 12. 26. 14:58ㆍInformation Security 정보보안/DreamHack
배울내용 :
dreamhack,
web hacking,
개발자도구,
dreamhack 풀이,
dreamhack XSS Filtering Bypass 문제,
dreamhack web 풀이 ,
XSS Filtering Bypass ,
Cross-Site Scripting
문제
이번문제또한 XSS(Cross Site Script ing ) 공격중 필터링 바이패스와 관련된 문제인것같다
이번에는 로그인 기능이 없는데신 memo 라는 메모할수있는 공간이 있다 url에 파라메타뒤에 적고싶은글 적으니 아래칸에 계속 추가되는걸 볼수있었다
한번 코드를 확인해보자
여기에서 파라미터를 확인하는데 필터링으로 모든 소문자로 변경해주기때문에 대소문자는 의미가 없고 script , on 도 필터링하는걸 볼수있다
그런데 replace 를 "" 빈칸으로 하기떄문에 아래와 같은걸 빈칸으로 만들시 아래처럼 만들어주면 script 에 있는 alert 를 사용할수있을것같다
<script> alert("sarimus") </script>
필터링후 -->
<> alert("sarimus") </>
<sscriptcript> alert("sarimus") </sscriptcript>
필터링후 -->
<script> alert("sarimus") </script>
성공적으로 script 를 뛰우는걸 성공했고 이를 통해서 쿠키값을 알아내면 될것같다
그럼 페이로드를 작성해보자
페이로드를 작성할떄 주의 할점이 script 뿐 아니라 on 까지 필터링하는것이다 그렇기 때문에 location.href 를 했을때 on 을 필터링 하기 때문에 에러가 나기 떄문에 이것또한 script 방식대로 추가해서 아래처럼 작성해준다
<sscriptcript>locatioonn.href="/memo?memo="+document.cookie;</sscriptcript>
그런데 memo 에서 작성하려니 안된다 아마 flag 에서 확인해봐야할것같다
그래서 flag에 똑같이 입력했는데 good 만뜨고 다른 이벤트가 안뜬다
그래서 memo에 다시 가봣더니 여기에 플레그를 뛰운걸 볼수가 있었다
'Information Security 정보보안 > DreamHack' 카테고리의 다른 글
[DreamHack] [web] [Level 1] xss-1 풀이 (0) | 2024.12.27 |
---|---|
[DreamHack] [web] [Level 1] session-basic 풀이 (0) | 2024.12.26 |
[DreamHack] [web] [Level 1] CSRF Advanced 풀이 (0) | 2024.12.26 |
[DreamHack] [web] [Level 1] out of money 풀이 (0) | 2024.12.24 |
[DreamHack] [web] [Level 1] command-injection-chatgpt 풀이 (0) | 2024.12.24 |