일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- otter
- vulnhub
- SQL Injection
- igoat
- 인시큐어뱅크
- InsecureBank
- foremost
- 파이썬
- 안드로이드
- elasticsearch
- Docker
- beebox
- diva
- base64
- kibana
- ESXi
- Reflected XSS
- MFT
- ctf
- logstash
- lord of sql injection
- Openstack
- XSS
- NTFS
- Suninatas
- CTF-d
- frida
- 2018
- Strings
- Volatility
- Today
- Total
목록Reflected XSS (6)
Information Security
XSS – Reflected (HREF) Level (Low) abc를 입력하면 영화에 대해 투표하라는 페이지를 보여준다. onmouseover함수를 이용해 alert(“1234”)를 입력했다. Vote 버튼에 마우를 올려놓으면 그림 1-3에 스크립트 언어가 동작한다.
XSS – Reflected (PHP_SELF) - 웹 서버가 실행 중인 현재 웹 페이지의 경로를 나타내며 $_SERVER에 속하는 속성이다. Level (Low) First name 123 Last name 123 데이터를 입력했다. 를 입력하면 쿠키 값이 노출되는 것을 알 수 있다. 이번에는 URL 주소에 />스크립트를 닫아주고 를 입력하면 그림 1-3처럼 경고창을 보여준다. 대응방안 htmlspecialchars 함수를 호출하여 입력 데이터를 UTF-8로 인코딩한다. 두 번째 인자에 ENT_QUOTES를 추가하여 XSS에 사용되는 특수 문자들을 HTML 엔티티 코드로 변환하여 스크립트 코드를 입력하여도 웹 브라우저에서는 문자로 인식한다.
phpMyAdmin BBCode Tag XSS - 웹 상에서 MySQL을 관리하기 위한 도구로, PHP 언어로 작성되었으며 호스트 주소에 phpmyadmin 페이지로 이동한다. Level (Low) CVE-2010-4480 취약점을 가지고 있는 문제이다. PhpMyAdmin페이지의 error 페이지로 들어갔다. URL 주소에 에러 페이지 type=abc, error=abcd를 입력하면 그림 1-2처럼 내용을 보여준다. Click을 누르면 xss_eval.php를 불러오는 스크립트 언어다. 그림 1-4처럼 스크립트 언어를 실행하면 xss_eval.php 페이지를 보여준다.
XSS – Reflected (Eval) Level (Low) Eval함수는 수식 형태로 문자열을 실수로 반환하는 자바스크립트다. URL 주소에 1234 데이터를 입력해 오류의 메시지를 보여준다. Eval 함수에 document.write(alert(1)))를 입력해 경고창을 확인했다.
XSS – Reflected (AJAX/JSON) - AJAX 기능을 활용하여 검색어를 입력하면 해당하는 영화가 데이터베이스에 있는지를 확인하고 결과를 바로 출력한다. Level (Low) 를 입력했는데 바로 보이는 것을 알 수 있다. GET 방식으로 xss ajax 2-2.php로 데이터가 전달되는 것을 알 수 있다. 소스코드를 확인한 결과 xss ajax 2-2.php를 호출하는 것을 알 수 있다. 스크립트 언어가 GET방식으로 인코딩 방식으로 전달되는 것을 알 수 있다. GET 방식이기 때문에 URL 주소에 그림 1-4처럼 보이는 스크립트 언어가 보이는 것을 알 수 있다. Level (Medium) Iron Man 데이터를 입력하면 데이터베이스에 있다고 메시지를 보여준다. 그림 1-5처럼 URL 주..
XSS – Reflected(GET) - 웹 페이지 URL에 존재하는 파라미터에 악의적인 스크립트 코드를 입력하여 사용자가 URL 클릭하면 파라미터에 입력한 악성 스크립트 코드가 실행되는 공격이다. Level (Low) First name 1234 Last name 1234를 입력해 URL 주소와 Welcome 1234를 확인할 수 있다. , 를 입력해 쿠키 값을 확인할 수 있다. Level (High) 그림 1-1처럼 스크립트 언어를 입력하면 그대로 노출되는 것을 알 수 있다. 대응방안 htmlspecialchars 함수를 호출하여 입력 데이터를 UTF-8로 인코딩한다. 두 번째 인자에 ENT_QUOTES를 추가하여 XSS에 사용되는 특수 문자들을 HTML 엔티티 코드로 변환하여 스크립트 코드를 입력하..