일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- hackingcamp
- 해킹캠프
- backdoorctf writeup
- backdoorctf 2023 web
- 웹해킹
- wargame.kr
- thinkPHP
- hackctf
- 해외 wargame
- CVE
- Hacker.org
- 웹 해킹
- RCE
- Web Hacking
- 해킹캠프 ctf
- CTF
- 해외 워게임
- WEB-hacking
- php
- hackingcamp ctf writeup
- XSS-game
- hacking
- XSS
- backdoorctf 2023 web Unintelligible
- writeup
- backdoorctf 2023
- cve 분석
- Web
- webhacking
- WarGame
- Today
- Total
목록XSS (7)
<OOO>
문득 "XSS 공격 시 리다이렉션을 통한 쿠키 탈취 말고 티 안나게 쿠키 탈취 하는 방법은 없을까?" 라는 생각이 들었다. 그래서 구글링을 하다가 fetch 메소드를 사용하면 어떨까 싶었다. 우선 fetch 메소드에 대해서 간략하게 알아보자. Fetch 메소드란? Javascript의 fetch() 메소드는 서버에 요청하고 웹 페이지에 정보를 로드하는데 사용된다. 즉, 서버에 요청할 수 있는 기능이다. 간략하게 알아보았으니 이제 실습을 할 차례이다. 본 게시글에선 php를 이용하였으나, 자신이 좋아하고 만들기 편한 언어를 이용하면 된다. XSS가 발생할 페이지에서 setcookie 함수를 이용하여 쿠키를 생성하고 echo로 입력값을 출력시키는 소스다. 잘 동작하는지 h1 tag를 이용하여 테스트 해준다...
진짜 힘들었다... 그만큼 아직 내 실력이 많이 부족하다는걸 느끼게 된 시간인것같다. 분석하면, frame 뒤에 있는 #을 기준으로 해서 그 뒤를 읽어서 출력해준다. script태그, javascript 문법을 활용해도 풀리지 않기에 애를 먹었다... (다른 분들의 힘을 빌려 문제를 풀었다...) 힌트에서 google.com/jsapi?callback=foo 로 접속해서 알아보라고 하는데, 접속했을 때, 다른 사이트로 리다이렉션이 되어 확인이 불가능 하였다... 1) Data URL Scheme 방식으로 푸는 방법 2) URL을 입력하여 푸는 방법 1. Data URL Scheme 방식으로 푸는 방법 #뒤에 data:text/javascript,alert(1) 을 입력. #data:text/javascr..
Sign up 을 누르면 email을 입력해야하는 부분이 나오고 Next를 누르면 이 화면이 나온 후 다시 초기 창으로 돌아간다. 상단 URL에 보면 next 라는 파라미터에 confirm 이 들어가게 되는데, 거기에서 script 구문을 넣으면 된다. xss에는 태그 말고도 수많은 방법있는데, 여기서는 javascript 을 이용할 것이다. next=confirm에서 confirm을 지우고 javascript:alert(1)을 하게 되면 alert이 동작하며 다음 단계로 넘어갈 수 있다. 여기서 꼼수가 생기는데, reflected xss 공격을 사용하게 된다면, 모든 문제를 클리어 할 수 있는 방법이 있다. level5 클리어!
타이머를 설정하는 기능이다. 세미콜론을 넣어서 확인해보면 이렇게 뜬다. 상단에 있는 URL을 보면 timer 이라는 파라미터로 값을 받는다. time.html의 소스중 21번 라인에 있는 onload가 있다. 즉, timer=('~~~~~')가 된다. 그러면 onload=startTimer('1');alert('1 하면 되지 않을까? 라는 생각으로 시도를 해 보았으나 1') 뒤에 부분이 인식이 되지 않는것을 발견할 수 있다. 이런 경우 URL 인코딩을 통해 세미콜론을 인코딩 해주면 되는데 세미콜론은 %3B로 인코딩이 되므로 URL에 1')%3Balert(1을 해주게 된다면 풀리게 된다. 그리고 또 다른 방식으로 푸는 방법도 있다. 애초에 처음부터 타이머를 작동 시키는 부분(URL 아님)에서 1');ale..
Image 버튼을 누르면 사진이 바뀐다. 여기서도 alert를 띄워줘야 하는데.... level1에서 설명했지만, alert를 띄워주면 통과가 되는 느낌이기에... 그냥 alert만 띄워볼것이다. ctrl + shift + c 를 누르면 F12를 누른것 같은 개발자 모드가 뜨게 되는데, 사진을 한번 클릭해주면 해당 소스 부분으로 이동하게 된다. 거기에 보면 img 태그가 있다. level2와 같이 alert를 띄우는 방법은 동일하다. 부분에 onclick 혹은 onload 등등 다양한 태그를 써도 된다. 1) onclick 옵션을 이용하여 푸는법
방명록 같은곳에 글을 쓸 수 있는데, 여기에서 alert를 해야한다. level1 과 다르게 구문이 먹히지 않는다. 그럼 어떻게 해야할까? xss를 공격하는 방법에는 정말 많은 방법이 있지만, 여기에선 img 태그를 이용하여 공격을 할 것이다. 글 쓰는 부분에서 을 입력하면 이런 아이콘이 생성되는데, 이 아이콘을 누르게 된다면 1이라는 alert가 띄워진다. level2도 클리어!
XSS 공격하는 방법을 공부할 수 있는 사이트이다. https://xss-game.appspot.com/ XSS game Welcome, recruit! Cross-site scripting (XSS) bugs are one of the most common and dangerous types of vulnerabilities in Web applications. These nasty buggers can allow your enemies to steal or modify user data in your apps and you must learn to dispatch the xss-game.appspot.com 이 사이트에서 어떠한 방법으로 사용하든 alert를 띄우면 다음 문제로 넘어갈 수 있다. 처음..