일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- css
- 쿠키
- lord of sqli
- 세션
- Cross Site Request Forgery
- MySQL
- XSS
- Los
- Python
- 과제
- union sql injection
- 웹개발
- 모의해킹
- 게시판 만들기
- csrf
- JS
- Reflected Xss
- Error based sql injection
- cookie 탈취
- file upload
- JWT
- 로그인
- blind sql injection
- lord of sql injection
- 로그인페이지
- php
- sql injection point
- CTF
- sql injection
- cors
- Today
- Total
목록XSS (18)
Almon Dev
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nraEM/btsLKBAi07C/VYZv0INf0p024Jb4MzewB0/img.png)
ctf 문제 풀이 GET Admin 3 풀이1. CSRF 취약점 찾기문제에서 admin 계정을 탈취하라고 합니다. 그렇다면 비밀번호 변경 기능이 CSRF 취약점이 있는지 확인합니다. 마이페이지의 수정 기능에 인증정보가 포함되지 않는 것 같습니다. 그런데 요청값을 보니 입력한 적 없는 token이 포함되어 있습니다.아무래도 마이페이지에 접근할 때 자동으로 form태그에 hidden 타입으로 생성되어 있는 것 같습니다. GET 메서드도 확인해 봤지만 불가능했습니다. 2. 관리자 계정 탈취하기그렇다면 csrf token을 탈취한 뒤에 POST 메서드로 요청을 보내면 CSRF 공격이 가능할 것 같습니다.그러기 위해서는 우선 XSS 취약점을 찾아야 합니다. 게시판 글 작성에서 JS를 삽입해 CSRF Token을..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cgyVFu/btsLJCz8WUZ/bikOVEHkJDhGa3Xc8n9xAK/img.png)
ctf 문제 풀이 GET Admin 2 풀이1. CSRF 취약점 찾기문제에서 admin 계정을 탈취하라고 합니다. 그렇다면 비밀번호 변경 기능이 CSRF 취약점이 있는지 확인합니다. 비밀번호 변경 기능에 인증정보(ex 현재 비밀번호)가 포함되지 않습니다.그렇다면 CSRF가 가능하다고 판단됩니다.우선 GET 메서드로 변경이 가능한지 확인 해보겠습니다. GET 메서드로 변경후 URL로 접속을 시도하면 에러가 발생했다는 경고문이 출력됩니다.GET은 불가능하고 POST만 사용이 가능한것으로 보입니다.그렇다면 XSS 취약점을 찾아 JavaScript를 이용해서 POST 요청을 보내야 합니다 게시판 글 작성시 와 같은 특수문자를 따로 필터링 하지 않기 때문에 XSS 취약점이 존재합니다.그렇다면 JS를 삽입해서 C..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/DCbEt/btsLJKLuljO/JyP1DbMNayyyN5HFJ7K6N0/img.png)
ctf 문제 풀이 GET Admin 1 풀이1. CSRF 취약점 찾기문제에서 admin 계정을 탈취하라고 합니다. 그렇다면 비밀번호 변경 기능이 CSRF 취약점이 있는지 확인합니다. 마이 페이지에 비밀번호 수정 기능이 있고, 현재 비밀번호와 같은 인증정보가 필요 없는 것 같습니다. 링크를 이용하기 위해서 GET메서드로 변환이 가능한지 확인해봅니다. GET 메서드로 변환해도 여전히 비밀번호가 변경됩니다.CSRF 취약점으로 링크로 접속을 유도해 비밀번호를 변경할 수 있습니다. 2. 관리자 계정 탈취하기위에서 만든 GET 메서드에 관리자봇이 접근하도록 해보겠습니다. 관리자가 눈치를 채고 비밀번호를 변경했습니다.눈치를 챈 이유를 알기 위해서 도메인에 직접 접근해봅니다. alert 창이 출력되서 눈치를 챈 것..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b5gBzW/btsLBMoAlZT/GFjGu5BaZWpHQHtF0uYJ5k/img.png)
ctf 문제 풀이 Steal Info 2 풀이1. XSS 포인트 찾기공지 사항 작성에 내용 부분에서 특수문자를 처리하지 않고 저장합니다. alert(1) 스크립트를 삽입하고 공지 사항에 접근해 봅니다. 2. 스크립트 삽입하기관리자 계정의 마이페이지 정보란을 가져오는 것이 목적이기 때문에마이페이지에 접근해서 DOM 구조를 파악해 봅니다. hori 클래스인 div안에 input이 하나 있는 구조로 이루어져 있습니다.같은 구조를 가진 input태그들 중 두 번째 태그가 정보란입니다.document.querySelectorAll('.hori input')[1] iframe을 삽입하고 마이페이지 정보란을 가져오는 스크립트를 생성합니다.const frame = document.querySelector('#fram..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/b2EQ0S/btsLCFoIeF4/TEqquKMWrR4Q2F7nO8QN7k/img.png)
ctf 문제 풀이 Steal Info 풀이1. XSS 포인트 찾기공지 사항 작성에서 내용 부분에 특수문자를 처리하지 않고 출력하는 것을 확인했습니다. alert(1) 스크립트를 삽입하고 실행되는 것을 확인하였습니다. 2. 스크립트 삽입하기xss 취약점이 있는 곳과 가져올 데이터가 있는 곳이 다르기 때문에공지 사항을 읽을 때 iframe 태그를 이용해서 다른 사이트를 불러와 데이터를 가져오겠습니다. 우선 중요정보가 있는 사이트와 구조가 같은 사이트에서 데이터가 있는 태그를 찾아야 합니다. card-text라는 이름의 클래스를 가진 태그 중 두 번째 태그에 필요한 정보가 담겨있습니다. 삽입할 스크립트와 iframe태그를 만들고 삽입하겠습니다. 이제 해당 게시글에 접근하면 세션 정보를 이용해서 마이페이지에 ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cQjRNm/btsLCs3MYtP/cOsiWqGf57Egpk9i07gkL0/img.png)
ctf 문제 풀이 Basic Script Prac 풀이1. XSS 포인트 찾기마이페이지의 user파라미터의 입력값이 input 태그의 placeholder 속성에 포함돼서 응답됩니다. 를 삽입해서 특수문자를 따로 처리하지 않고 바로 응답에 포함하는 것을 확인했습니다. input태그를 탈출해 script태그를 삽입합니다.남은 "/> 부분을 br태그로 만들고 style="display:none"을 삽입해서 원래의 html구조를 그대로 유지합니다. alert(1)이 실행되는 것을 확인했습니다. 2. 스크립트 삽입하기스크립트의 목적은 관리자 계정의 마이페이지 정보를 가져오는 것입니다.그러기 위해서는 DOM구조를 파악해서 JavaScript로 태그의 정보를 가져와야 합니다. hori라는 클래스 이름을 가진 d..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/r0viC/btsLzrYBotI/M85jKsxyVK6GNvHwwGXQ50/img.png)
11주 차 정리 XSS 대응 방안HTML Entity 치환와 같이 HTML 구조에 영향을 미치는 특수문자를 HTML Entity로 치환하면 XSS를 막을 수 있습니다.=> 원천적으로 XSS가 불가능=> HTML Editor와 같이 사용하지 못하는 곳도 존재 ex) 블로그, 커뮤니티 등 HTML EditorHTML Editor를 이용하는 사이트를 HTML Entity로 치환을 하면 기능이 작동을 하지 않습니다.ex) , , 등 대응 방안1. 사용자의 입력 중 HTML 특수문자를 HTML Entity로 치환합니다.ex) => < > 2. 허용할 태그를 식별하고 그 태그만 살립니다.=> 화이트 리스트 기반 필터링ex) , , 등 3. 살린 태그들 내부에 악의적인 이벤트 핸들러를 필터링합니다...
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/rK0iQ/btsLrc2nHnf/6BKo9fpW299xGKMKhyXfHK/img.png)
ctf 문제 풀이 XSS Challenge 풀이1. XSS 포인트 찾기게시글 검색하는 기능에서 검색어가 화면에 출력되고 있지만 서버에서는 응답값이 오지 않습니다.이런 경우는 DOM Based XSS를 확인해야 합니다. 서버의 응답값을 보면 document.write라는 스크립트가 존재합니다.document.write함수는 html 코드를 페이지에 삽입해 주기 때문에 xss에 취약합니다. 검색어에 을 입력하면 스크립트가 실행되는 것을 확인할 수 있습니다. 2. 스크립트 삽입하기쿠키를 탈취하는 스크립트를 삽입합니다. 3. 스크립트 실행하기악성 URL로 봇이 접속하도록 합니다. 대응 방법HTML에 문자열을 삽입할 때는 문자열로만 해석하는 함수를 사용하는 것이 좋습니다.ex) js -> element.te..