본문 바로가기

전체 글318

[CVE-2023-23997] MS Outlook EoP(Elevation of Privilege) 취약점 23년 3월 14일 Microsoft에서 약 80개의 보안 취약점에 대한 패치를 발표하였습니다. 그 중 CVE-2023-23997 취약점은 Mircosoft Outlook에서 발생하며, 권한 상승이 가능한 취약점 입니다. 해당 취약점은 공격자가 UNC(Universal Naming Convention) 경로를 포함한 확장된 MAPI(Message Application Program Interface) 속성을 사용하여 피해자에게 메시지를 보낼 때 발생합니다. UNC(Universal Naming Convention) 컴퓨터 내의 공유 파일이 접근 시 저장 장치를 명시하지 않고 파일을 확인할 수 있는 방법 예시 : \\servername\sharename\path\filename MAPI(Message Ap.. 2023. 3. 17.
FileCoin(FIL) JSON-RPC로 통신하기 기본 구문 import requests import json import cbor # Filecoin 노드 RPC endpoint URL node_url = 'https://api.node.glif.io' def json_request(method,cid): # JSON RPC 요청 메시지 구성 rpc_request = { "jsonrpc": "2.0", "id": 0, "method": f"Filecoin.{method}", "params": [{"/":cid},] } return rpc_request def get_response(method,cid): # JSON RPC 요청 보내기 response = requests.post(node_url, json=json_request(method,cid)).. 2023. 3. 13.
Python Web3를 통한 FNCY RPC 통신하기 FNCY RPC 통신 방법 Block 돌면서 특정 행위 수행하기 from web3 import Web3, HTTPProvider from web3.middleware import geth_poa_middleware # POA 체인의 RPC 엔드포인트 URL poa_rpc_url = "https://fncy-seed1.fncy.world" # web3.py를 사용하여 RPC 엔드포인트에 연결 w3 = Web3(HTTPProvider(poa_rpc_url)) # POA 체인에 대한 미들웨어를 추가 w3.middleware_onion.inject(geth_poa_middleware, layer=0) start_block_number = 1 # 최신 블록 번호를 가져옴 latest_block_number = w.. 2023. 3. 13.
[VUE JS] source map 파일을 통한 Frontend 소스 코드 획득 일반적으로 vue.js 애플리케이션을 빌드하면, 코드가 압축되어 사용자에게 제공됩니다. 이때 원래 코드의 흐름과 파일 구조가 왜곡될 수 있어, 브라우저에서 발생한 오류를 추적하기가 어려울 수 있습니다. 이러한 상황에서 디버깅을 쉽게 하기 위해 source map 파일을 제공하고 있는데, 해당 파일을 이용하여 압축된 코드를 원래의 코드로 디코딩할 수 있습니다. 그런데 만약, 실제 운영 환경에서 source map 파일이 존재할 경우 Frontend의 소스 코드를 획득할 수 있는 등의 취약점이 발생할 수 있습니다. Source Map 파일 찾기 개발자 도구 > "SourceMappingURL" 검색 > app.*.js 파일 찾기 app.*.js 경로에 .map을 붙여서 접속 시도 (app.*.js.map) .. 2023. 2. 21.
[Kotlin] Use-Site Target이 존재하지 않을 경우 검증 우회 가능 Data Class의 경우 NotBlank와 같은 검증 Annotation을 Use-Site Target과 같이 사용하지 않을 경우, 생성자 구문에 검증 코드가 작성되는 문제가 있음 // 생성자에 NotEmpty와 NotBlank가 적용되는 잘못된 코드 data class UserInfoDto ( @NotEmpty(message="값이 비어있으면 안됩니다.") @NotBlank @Email(message="이메일 주소를 입력해주세요.") var email : String?, var password : String?, ) 반드시 Use-Site Target을 명시하여 필드 변수에 대한 검증을 수행하도록 해야 함 // 변수에 NotEmpty와 NotBlank가 적용되는 올바른 코드 data class Use.. 2023. 2. 21.
Ren'Py를 통한 게임 개발 시작 최근 들어 Ren'Py를 통한 게임이 많이 보이는 것 같습니다. 그래서 바로 프로젝트를 시작하게 되었는데요. 이번 프로젝트는 "Ren'Py 파헤쳐보기" 입니다. 프로젝트 목표는 3가지로 나눠서 볼 수 있을 것 같습니다. 1. Ren'Py로 게임 개발 2. 게임 핵 개발 3. 게임 핵 탐지 및 차단 설치 방법 1. Ren'Py 사이트에서 개발 도구를 다운로드 받습니다. Ren'Py 8.0.3 Android and iOS Support When building Android packages, iOS packages, or web distributions, Ren'Py will prompt you to download RAPT (Ren'Py Android Packaging Tool), Renios (Ren'P.. 2023. 2. 19.
Avalanche(AVAX) RPC 사용 방법 ※ 1초에 5회 이상 Request 전송 시 Rate Limit 있음 기본 구문 import requests import json class AvalancheAPI: def __init__(self, rpc_url): self.rpc_url = rpc_url def get_response(self, method, params): response = requests.post( self.rpc_url, data=json.dumps({ "jsonrpc": "2.0", "id": 1, "method": method, "params": params, }), headers={'content-type': 'application/json'} ).json() return response if __name__ == '__.. 2023. 2. 19.
MySQL Server 꿀팁 Query 특정 Database 내 OPTIMIZE TABLE 구문 생성 SELECT CONCAT('OPTIMIZE TABLE ', table_schema, '.', table_name, ';') FROM information_schema.TABLES WHERE table_schema = "database_name"; 특정 Database 내 Table Size 확인 SELECT table_schema "Data Base Name", table_name "Table Name", round(((data_length + index_length) / 1024 / 1024), 2) "Size in MB" FROM information_schema.TABLES WHERE table_schema = 'database_name.. 2023. 2. 14.
Click Jacking이란? Click Jacking이란 무엇인가? Click Jacking은 사용자가 의도하지 않은 클릭 행위를 유도하는 공격 기법입니다. Click Jacking 공격은 웹사이트 상의 버튼, 링크 등을 통해 사용자를 다른 웹 페이지로 유도하여, 사용자가 악성 페이지에서 의도하지 않은 동작을 수행하게 만듭니다. Click Jacking은 "UI Redress Attack" 또는 "User Interface Redress Attack"으로도 알려져 있습니다. Click Jacking 공격 원리 Click Jacking 공격은 웹 페이지 내에 들어 있는 iframe 요소를 이용하여 수행됩니다. iframe 요소는 다른 웹 페이지를 포함하고 있는 HTML 태그로, 다른 웹 페이지를 포함하면서도 현재 웹 페이지의 내용을 .. 2023. 2. 12.