Hack133 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. 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. 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. Type Confusion이란? Type Confusion Type Confusion은 프로그래밍 언어에서 발생할 수 있는 취약점 중 하나로, 데이터 타입이 불일치하는 상황에서 발생할 수 있습니다. 예를 들어, 어떤 프로그램에서 문자열을 입력받아 처리하는 기능이 있다고 가정해보겠습니다. 이때, 사용자가 문자열 대신 정수형 데이터를 입력할 경우, 프로그램은 예상치 못한 방식으로 작동할 수 있습니다. ※ 주로 변수나 객체를 선언 또는 초기하였을 때와는 다른 타입으로 사용할 때 발생 이처럼 프로그램에서는 예상치 못한 데이터 타입 변환이 일어나는 상황에서 Type Confusion 취약점이 발생할 수 있습니다. 참고로 Type Confusion은 메모리 손상 등의 심각한 보안 문제를 야기할 수 있으며, 악의적인 공격자가 해당 취약점을 이용해 .. 2023. 2. 12. [Android] java.net.URL Parsing 취약점 java.net.URL 클래스를 사용하는 경우 Parsing된 Host와 브라우저를 통하여 접속되는 Host가 달라 Bypass가 가능한 취약점이 존재합니다. Sample Code import java.net.URL; public String url_bypass(HttpServletRequest request) throws Exception{ String url = request.getParameter("url"); System.out.println("url: " + url); URL u = new URL(url); if (!u.getProtocol().startsWith("http") && !u.getProtocol().startsWith("https")) { return "Url is not http.. 2022. 12. 16. npm 취약점 점검 도구 - npm audit 먼저 npm이란 javascript 또는 typescript 언어를 위한 Package 관리 도구입니다. npm에는 개발자 편의를 위한 여러가지 Command가 존재하는데, 그 중 취약점 점검 기능인 audit에 대하여 설명하도록 하겠습니다. 사용 방법은 매우 간단합니다. # Default Usage $ npm audit # output json format $ npm audit --json 발견된 취약점에 대한 조치도 단순한 명령어를 통하여 손쉽게 진행할 수 있습니다. $ npm audit fix 다만, deprecated 되었거나 변경된 기능으로 인하여 프로그램이 정상적으로 작동하지 않을 수 있어 사전 백업 후 반드시 작업을 진행해야 할 것 같습니다. Reference About audit repor.. 2022. 11. 16. 이전 1 ··· 3 4 5 6 7 8 9 ··· 15 다음