분류 전체보기257 [비박스를 활용한 웹 취약점 진단] 7-3.크로스 사이트 스크립팅 [Reflected XSS-GET] 반사된 (Reflected) XSS란? - 웹 페이지 URL에 존재하는 파라미터에 악의적인 스크립트 코드를 입력해서 사용자가 URL 클릭 시 파라미터에 입력한 악의적인 스크립트 코드가 실행되는 공격이다. 스크립트 코드가 포함된 URL 링크를 메일로 전송하거나 게시물로 등록해서 공격 URL을 인코딩하거나 축약하는 방식으로 속여 유포하며 Stored XSS보단 적은 위협이지만 위험성은 동일하므로 입력 값 검증이 필요하다. [난이도 하] 스크립트를 바로 입력해서 취약점이 있는지 확인해보자. cookie 값이 알림 창으로 출력되었다. [난이도 중] 난이도 중으로 변경한 뒤 똑같은 구문을 넣어보았다. low와 똑같이 세션값이 노출되었다. 난이도 중에서는 addslashes 함수로 필터링을 하고 있었는데 GET 방.. 2023. 12. 13. [비박스를 활용한 웹 취약점 진단] 7-2.크로스 사이트 스크립팅 [Stored XSS-User Agent] 이번 페이지는 접속한 웹 브라우저의 정보가 저장된 'User-Agent' 헤더 값을 테이블 형태로 출력한다. 최근 접속한 순서대로 3개까지만 출력하고 download 링크를 통해 페이지에 접속한 모든 User-Agent 정보를 새로운 페이지에 출력하는 형태이다. [난이도 하] User-Agent를 페이지로 출력하기 때문에 버프슈트를 통해 User-Agent 값에 스크립트 코드를 삽입해 주면 작동할 것 같다. 버프 슈트를 사용해 쿠키 값을 얻는 스크립트 구문을 삽입해 주었다. 그 결과 PHP 세션 값이 출력되었다. 이제 다른 사용자로 로그인해서 들어갔을 때 세션 스크립트가 작동될 지 확인해보자. 다른 사용자로 로그인하여 페이지에 들어가도 세션값 알림이 뜬다. 테이블에 비어있는 공간이 바로 스크립트 구문이 .. 2023. 12. 13. [비박스를 활용한 웹 취약점 진단] 7-1.크로스 사이트 스크립팅 [Stored XSS-Change Secret] 이번 페이지는 비밀번호 힌트를 새로 설정하는 기능을 제공한다. 이 비밀번호 힌트는 sqli_16.php 인 Login Form 페이지로 가면 볼 수 있다. [난이도 하] Secret 페이지에서 secret을 1로 변경하고 Login Form 페이지에서 bee/bug로 로그인 해보았더니 secret이 1로 변경되었다. 이제 secret에 자바 스크립트 코드를 넣어보자. 를 넣어서 change 버튼을 눌러 secret에 자바 스크립트 코드를 넣어보자. 그리고 다시 login 페이지로 가서 bee bug로 로그인 해보자. 그랬더니 성공적으로 세션값을 확인할 수 있었다. 이번 페이지는 hidden 타입으로 정의된 login 변수에 다른 사용자의 아이디를 입력해서 다른 사용자의 힌트 수정도 가능하다. 우선 rob.. 2023. 12. 13. [비박스를 활용한 웹 취약점 진단] 7.크로스 사이트 스크립팅 [Stored XSS-Blog] 크로스 사이트 스크립팅(XSS)이란? - 웹 사이트에서 입력한 데이터를 검증하지 않아 웹 브라우저를 실행할 때 발생하는 취약점이다. 입력 데이터에 스크립트 코드를 입력해서 세션 정보 탈취, 악의적인 사이트로 이동, 악성 프로그램 다운로드 등의 공격을 시도한다. 이 취약점은 서버에 전달되는 모든 변수값에서 발생할 수 있으며, 세션을 탈취해서 권한 획득을 하거나 악성코드를 배포하거나 피싱을 하는 목적 등으로 이용된다. XSS의 종류는 코드의 입력에 따라서 저장하는 형태의 Stored XSS, 바로 실행되는 형태의 Reflected XSS, DOM Based 스크립팅 등으로 분류한다. 저장하는 형태의 Stored XSS가 보안 상 가장 위협적인 공격이다. Stored XSS는 악의적인 스크립트 코드가 웹에 입.. 2023. 12. 13. 이전 1 ··· 52 53 54 55 56 57 58 ··· 65 다음