블록체인에서 새롭게 떠오르는 기술인 zkp에 대해 설명하고 그와 관련된 공격을 설명한다. ZKP란? Zero-Knowledge Proof (ZKP)는 한 당사자(증명자, Prover)가 다른 당사자(검증자, Verifier)에게 특정 정보를 직접 공개하지 않고도 그 정보의 진위를 증명할 수 있는 암호학적 방법이다. 즉, 증명자는 어떤 비밀 정보를 알고 있음을 검증자에게 증명할 수 있으나, 그 과정에서 비밀 정보의 실제 내용은 전혀 공개되지 않는다. ZKP의 핵심 속성 완전성 (Completeness): 진실을 말하는 증명자는 항상 진실임을 검증자가 수용하도록 할 수 있다. 정당성 (Soundness): 거짓을 말하는 증명자는 진실을 말하는 것처럼 보이게 할 확률이 극히 낮다. 제로 지식 (Zero-kno..
XSS의 대응방안으로는 클라이언트와 서버가 통신하는 과정에서 필요한 파라미터, 즉 외부로부터의 입력 값에 대한 검증을 통해 헤더, 쿠키, 질의 문, 폼 필드, Hidden 필드 등과 같은 모든 입력 필드에 특정 공격 문자열에 대한 필터링 처리를 한다. 다음과 같이 왼쪽 필드의 입력 데이터를 오른쪽 필드의 데이터로 변환해서 필터링 한다. 변경 전 변경 후 변경 전 변경 후 >; & &; ( ( " " ) ) ' ' 필터링 조치 대상 테크 및 문자열 Javascript vbscript expression document.cookie document.location document.write location.href onabort Onclick ondbclick ondragdrop onerror Onf..
개요 공격자가 삽입 또는 제공한 악의적인 스크립트가 사용자의 브라우저에서 실행되는 취약점 원인 악의적인 스크립트 코드가 삽입된 입력값을 서버가 적절한 검증절차 없이 반환 하는 것 Reflected XSS (반사형 크로스사이트 스크립팅) 공격자가 악의적인 스크립트가 포함된 url을 메신저, 메일 등을 이용하여 사용자에게 노출시키고 이 url에 사용자가 접근 할 경우 스크립트가 실행되어 피해를 발생시킴 //매개변수 중 필터링이 되지 않는 부분 탐색 GET /exam16/notice.php?pageIndex=pagetestxss/&board_id=board_idxss/&sorting=sortingxss/&sotingAd=DESC&startDt=&endDt=&searchType=&keyword= //공격코드 "/>
SQL Injection Union, Error Based, Blind SQL Injection 예제와 시나리오 JSP, ORACLE 기준 의도하지 않는 쿼리 삽입 하여 악의적인 SQL 문을 실행시키는 공격 Oracle ⇒ user_tab, all_table 테이블 정보 칼럼 정보 SQL (Structured Query Language) 데이터베이스 관리용 언어 DDL, DCL, DML로 구분 DDL (데이터 정의어) 스키마,, 테이블, 인덱스등 정의, 변경, 삭제할 때 사용 CREATE, ALTER, DROP… DCL (데이터 제어어) 데이터 대한 접근 권한 부여 등 관리 목적으로 사용 COMMIT, ROLLBACK, GRANT, REVOKE DML 데이터 조작어 DB에 저장된 데이터를 실질적으로 처리..