목록전체 글 (15)
2003
DOM XSS (Document Object Model Cross-Site Scripting)는 악의적인 사용자가 웹 애플리케이션의 클라이언트 측 스크립트를 이용하여 다른 사용자의 브라우저 환경에서 스크립트를 실행하도록 하는 보안 취약점입니다. 일반적인 XSS 공격과 달리 DOM XSS는 서버로부터 사용자로 돌아오는 응답에 대한 취약점이 아니라, 클라이언트 측 스크립트 실행 과정에서 발생합니다. 이 취약점은 클라이언트 측 스크립트에서 사용자 입력을 적절하게 처리하지 않고, 동적으로 DOM을 조작할 때 발생할 수 있습니다. 사용자 입력이 스크립트 실행에 직접 사용될 때: 사용자 입력이 클라이언트 측 스크립트에 의해 동적으로 DOM에 삽입되고 실행되는 경우, 악의적인 사용자가 이를 이용하여 스크립트를 삽입할..
자바스크립트와 연계 먼저 자바스크립트를 예로 들어보겠습니다. 만약 RPO 취약점으로 로드하는 자바스크립트 코드의 앞 부분을 공격자가 조작할 수 있다면, XSS 공격으로의 연계가 가능합니다. 예를 들어 공격자가 RPO 취약점을 통해 원래 /static/script.js로 로드되어야 할 파일을 /USER_INPUT/static/script.js의 형태로 로드할 수 있을 때 서버에서 /USER_INPUT/static/script.js가 포함된 채로 반환한다면 XSS 공격이 가능합니다. 이 경우 공격자는 USER_INPUT 부분을 조작하여 index.php/;alert(1);//static/script.js와 같은 형태로 경로를 구성한다면 해당 내용이 script 태그의 src로 들어가 alert(1); 이라는..
Exercise: Client Side Template Injection에서 실습하는 문제입니다. Client Side Template Injection 사용자의 입력 값이 client side template framework에 의해 템플릿으로 해석되어 렌더링 될 때 발생함 이를 악용하여 악성 스크립트를 실행하거나 사용자의 브라우저에서 다른 액션을 취하도록 유도할 수 있음 Base 1. vuln param 파라미터로 받은 값을 뿌려주기 때문에 태그 등의 삽입이 가능합니다. 2. memo memo 파라미터로 받은 문자열을 메모로 생성하여 저장하고 화면에 나타냅니다. 3. flag POST 방식으로 param 전달 시, 쿠키에 FLAG를 포함해 check_xss 함수를 호출합니다. check_xss는 re..
프론트엔드 프레임워크 다양한 개발의 편의성 제공 DOM 내의 데이터를 수정하기에 간편 웹 페이지를 컴포넌트화 하여 작성할 수 있음 Vue, React, AngularJS Client Side Template Injection 사용자의 입력 값이 client side template framework에 의해 템플릿으로 해석되어 렌더링 될 때 발생함 이를 악용하여 악성 스크립트를 실행하거나 사용자의 브라우저에서 다른 액션을 취하도록 유도할 수 있음 Vue 사용자 인터페이스를 위한 JavaScript 프레임워크 리액티브 데이터 바인딩: 데이터와 UI 간의 동적인 바인딩을 통해 데이터의 변경에 따라 UI가 자동으로 업데이트됨 컴포넌트 기반 아키텍처: UI를 독립적인 컴포넌트로 나누어 재사용성이 높고 유지보수가 ..
* VM으로 사용하고 있습니다. 오라클을 설치하다가 이런 오류를 마주쳤습니다. disk에 500G나 할당되어 있지만 할당을 해 주지 않아서 용량이 부족하다고 합니다... centos-root 파일 시스템 용량 늘리기 let's go 만약 DISK 자체에 용량이 부족할 경우, 가상 하드디스크를 추가해 주고 해당 디스크를 파티셔닝 및 마운트 하는 것으로부터 시작해야 합니다. 추가된 하드 디스크 확인 $ lsblk lsblk는 리눅스 시스템에서 블록 장치들의 정보를 보여주는 유틸리티입니다. 이를 사용하여 디스크와 파티션의 구성을 확인할 수 있습니다. VMware 등에서 가상 하드디스크를 추가해 주고 나서 해당 명령어를 사용하면 'sdb'라는 장치가 새로 인식되는 것을 확인할 수 있습니다. 하드디스크 파티셔닝 ..
실행 OS: CentOS 8 Oracle DB $ su oracle #oracle DB가 설치된 계정으로 로그인 $ sqlplus > sys /as sysdba #'sys' 계정으로 로그인 MySQL $ sudo systemctl enable mysqld #부팅 시 mysql 자동 실행하도록 설정 $ systemctl start mysqld #mysql 서비스 실행 $ mysql -u root -p #최상위 계정(root)으로 로그인 MSSQL sqlcmd -S localhost -U SA -P password # -S localhost: 로컬 호스트에 있는 MSSQL Server에 연결 # -U SA: SA (System Administrator) 사용자로 로그인 # -P: SA 계정의 비밀번호
수동 할당 (Static IP Allocation) 네트워크 관리자가 각 네트워크 장치에 대해 고정된 IP 주소를 할당하는 것 장점 IP 주소 충돌 위험이 줄어듦 네트워크 장치가 항상 동일한 IP 주소를 가지므로 관리가 용이 단점 관리 오버헤드가 있음. 네트워크가 확장되거나 장치가 추가되면 IP 주소를 수동으로 관리해야 함 IP 주소를 변경하기 위해서는 각 장치를 수동으로 구성해야 함 자동 할당 (Dynamic IP Allocation) DHCP(Dynamic Host Configuration Protocol)를 통해 네트워크 장치에게 IP 주소를 자동으로 할당하는 방법으로, DHCP 서버는 네트워크에 연결된 장치에 대해 유효한 IP 주소 범위에서 IP 주소를 동적으로 할당 장점 자동으로 IP 주소를 할..
Exercise: CSRF Advanced에서 실습하는 문제입니다. CSRF(Cross-Site Request Forgery) 교차 사이트 요청 위조를 의미합니다. 웹의 보안 취약점 중 하나로, 인증된 사용자의 권한을 이용하여 악의적인 요청을 실행하는 공격입니다. 공격자는 사용자의 브라우저를 통해 인증된 상태에서 악의적인 요청을 보내어 사용자의 계정에 대한 비정상적인 활동을 유도할 수 있습니다. 이러한 공격은 주로 인증된 사용자의 세션을 이용하여 비정상적인 활동을 수행하도록 함으로써 발생합니다. CSRF 공격으로부터 보호하기 위해서는 적절한 CSRF 토큰을 사용하거나, 요청을 보낼 때 추가적인 인증을 요구하는 등의 보안 메커니즘을 적용해야 합니다. Base 1. login 로그인이 가능합니다. app.p..