Hack131 [CVE-2023-0842] xml2js Prototype Pollution Node JS Prototype Pollution은 Prototype의 특성을 이용하여 다른 객체들의 값을 오염시키는 공격 기법입니다. 객체의 프로토타입은 객체.__proto__를 통하여 참조할 수 있으며, 객체의 프로타입이 변경되면 해당 객체와 같은 프로토타입을 가진 모든 객체들에 변경사항이 적용되게 됩니다. 또한, 객체의 프로토타입은 Object.prototype과 동일하기 때문에 프로토타입의 변조를 통하여 일반적인 객체들의 속성을 제어할 수 있게됩니다. 아래의 예제를 통해 obj 객체의 프로토타입에 polluted 속성을 1로 지정한 결과, obj와 같은 프로토타입을 갖고 있는 obj2에도 polluted 속성이 1로 설정된 것을 확인할 수 있습니다. const obj = {}; console.lo.. 2023. 5. 13. Transaction Order Dependence Attack in Smart Contract Transaction Order Dependence Attack도 Smart Contract에서 발생할 수 있는 공격인데요. Smart Contract는 블록체인 기술에서 중요한 개념 중 하나로, 계약 체결과 실행을 자동으로 수행할 수 있는 프로그램이며, 블록체인 기술을 활용하여 제 3자의 인증 기관 없이 개인 간 계약이 이루어질 수 있도록 하는 기술입니다. 그런데 Smart Contract는 사람이 직접 코드를 개발해야 하기 떄문에 코드 상의 문제 또는 버그가 존재할 경우 예상치 못한 결과가 발생할 수 있습니다. 그 중 하나인 Reentrancy Attack은 아래의 포스팅을 통해 확인하실 수 있습니다! Reentrancy Attack in Smart Contract Smart Contract는 블록체.. 2023. 5. 5. [DAO Hacking] Reentrancy Attack 실제 사례 분석 이전 포스팅에서 Reentrancy Attack에 대한 설명을 드렸는데요. 이번에는 실제 해킹 사례를 분석해보도록 하겠습니다. Reentrancy Attack in Smart Contract Smart Contract는 블록체인 기술에서 중요한 개념 중 하나로, 계약 체결과 실행을 자동으로 수행할 수 있는 프로그램이며, 블록체인 기술을 활용하여 제 3자의 인증 기관 없이 개인 간 계약이 이루어 hacksms.tistory.com The DAO Project The DAO(Decentralized Autonomous Organization, 이하 DAO)는 2016년 3월 Ethereum Platform을 기반으로 한 세계 최대 디지털 자산 크라우드 펀딩 프로젝트 였습니다. DAO는 참여자들이 ETH를 투.. 2023. 4. 30. Reentrancy Attack in Smart Contract Smart Contract는 블록체인 기술에서 중요한 개념 중 하나로, 계약 체결과 실행을 자동으로 수행할 수 있는 프로그램이며, 블록체인 기술을 활용하여 제 3자의 인증 기관 없이 개인 간 계약이 이루어질 수 있도록 하는 기술입니다. 조금 더 자세히 설명드리자면, Smart Contract는 계약자가 계약 시 조건을 미리 프로그래밍하여 블록체인 네트워크 상에 올려놓고, 이 조건이 충족되거나 비충족되었을 때 사전에 정의한 행위를 컴퓨터가 자동으로 수행함으로써 정상적인 계약 이행이 이루어집니다. 이를 통해 제 3자 없이 계약이 이루어질 수 있습니다. 이러한 Smart Contract는 Ethereum이 등장하면서 최초로 구현되기 시작했으며, 현재는 다양한 형태의 Smart Contract가 개발되고 있습니.. 2023. 4. 29. BitB (Browser in the Browser) 공격 배경 최근 아래와 같은 기사를 접하게 되었는데, 내용을 요약하자면 북한 해커조직이 Phishing 공격에 BitB(Browser in the Browser) 기술을 사용하고 있다는 내용이었습니다. 북한 해커조직, 실제 주소와 똑같은 피싱 사이트 사용한다? BitB 기술 악용 최근 북한 해커조직이 피싱 공격에 BitB(Browser in the Browser) 기술을 사용하는 등 피싱 관련 기술이 고도화되고 있어 주의가 요구된다. 과거의 피싱 공격은 피싱 사이트의 주소가 실제 사이트와 달 www.boannews.com 그럼 이제 여기서 말하는 BitB (Browser in the Browser) 공격이 무엇인지 한 번 알아보도록 하겠습니다. BitB (Browser in the Browser) 공격 Bit.. 2023. 4. 23. [CVE-2023-20860] Spring Framework Improper Access Control Spring Framework WebMVC는 Web Application을 개발하는데 사용되는 MVC(Model-View-Controller) 제공하는 Package 입니다. 해당 Package에서 경로 기반 인증 로직을 우회할 수 있는 취약점이 발견되었으며,해당 취약점은 CVE-2023-20860이라는 번호를 부여받았습니다. 취약점 상세 내용 Spring Security 설정에서 mvcRequestMatcher를 사용하여 경로 기반의 접근 제어를 수행할 수 있습니다. 아래의 예제 코드를 보면, mvcMatchers 메서드를 이용하여 admin/** 경로에 대한 접근 제어를 추가하고 있습니다.그런데 Spring Security와 Spring MVC에서 **를 해석하는 과정이 달라 경로를 기반으로한 접근 .. 2023. 3. 26. [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. 이전 1 2 3 4 5 6 7 8 ··· 15 다음