도유니의 블로그
article thumbnail
[Bee-box] XSS - Reflected (AJAX/JSON)
Web hacking/bee-box 2023. 12. 19. 18:29

ajax는 javascript를 이용하여 비동기식 통신을 한다. 때문에 요청 버튼 없이 즉각적으로 값의 유효성을 검사할 수 있다. 난이도 하 페이지 소스코드를 보면 입력 값을 GET 방식으로 xss_ajax_2-2.php 에 보내는 것을 확인 할 수 있다. 해당 URL로 title 값으로 스크립트 문을 입력. 성공 또다른 방법은 태그를 이용하는 것. onerror는 이미지 에러가 발생하면 실행될 것을 설정하는 옵션이다. 이를 이용하여 이미지 에러를 유도 후 alert를 실행할 수 있다. 성공 난이도 중 난이도 중에서는 header() 함수를 통해 content_type을 json 으로 보내고 있었다. 이를 통해 자바스크립트 코드의 실행을 차단 난이도 상 htmlspecialchars() 함수 사용

article thumbnail
[Bee-box] XSS - Reflected (JSON)
Web hacking/bee-box 2023. 12. 19. 18:13

JSON은 웹 브라우저와 서버 간 데이터 교환에 주로 사용된다. 난이도 하 페이지 입력 폼에 아무 값이나 입력하고 소스코드를 본다. asd 가 스크립트 문 안에 들어간다. 여기서 새로운 스크립트 문을 실행하기 위해서는 기존의 스크립트 문을 닫고 새로운 스크립트 문을 작성하면 된다. XSS 성공 난이도 중 상 난이도 중 상 에서는 htmlspecialchars() 함수를 통하여 입력값을 필터링 하고 있다. 대응방안 htmlspecialchars() 함수 사용

article thumbnail
[Bee-box] XSS - Reflected (POST)
Web hacking/bee-box 2023. 12. 19. 18:04

난이도 하 XSS - Reflected ( POST) 는 GET과는 다르게 URL에 파라미터로 전달하지 않고 본문에 포함하는 POST 방식으로 전달하고 있다. First name: Last name: POST 방식은 단지 GET방식이냐 POST 방식이냐 차이일뿐 스크립트는 같은 결과가 출력된다.

article thumbnail
[Bee-box] XSS - Reflected(GET)
Web hacking/bee-box 2023. 12. 19. 17:53

난이도 하 화면을 들어오면 first name, last name 입력란이 있다. 입력한 내용은 아래 welcome 뒤에 출력 된다. xss 취약점이 있는지 알아본다. GET 방식이니 파라미터에 값을 바꿔본다. first name, last name 둘다 스크립트를 삽입 하였을 떄 동작한다. 즉 xss에 취약하는 것 Welcome 에는 스크립트문은 출력하지 않는다. 이 페이지에 있는 파라미터 firstname, lastname 모두 xss에 취약하다. 대응방안 난이도 상에서는 first name이나 last name에 스크립트 코드를 입력하여도 문자로 인식한다. 페이지 소스를 확인해보면 xss_check_3 함수를 사용하여 입력 데이터를 우회한다. 함수 내부에는 htmlspecialchars() 함수를 ..

보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.
보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력해주세요.

검색 태그