Calling Convention
·
공부한 것
함수 호출 규약함수 호출 규약(Calling Convention): 함수의 호출 및 반환에 대한 약속어느 함수에서 다른 함수를 호출(Calling)할 때 프로그램의 실행 흐름이 다른 함수로 이동한다. 그 후 호출한 함수가 반환되면 다시 원래 함수로 돌아와서 기존 실행 흐름을 이어간다.그렇기 때문에 함수를 호출할 때는 반환된 이후의 실행 흐름을 이어나가기 위해 Caller 의 Stack frame 와 Return Address 를 저장해야한다. 그리고 Caller 는 Callee 가 요구하는 인자는 전달해줘야 하고 Callee 의 실행이 종료될 때는 반환값을 전달받아야 한다.함수 호출 규약이 적용되는 것은 보통 개발자가 고수준 언어로 코드를 짜면 컴파일러에 의해서 함수들이 Calling Convention..
Stack Canary
·
공부한 것
Stack Canary스택 카나리(Stack Canary): 스택 버퍼 오버플로우를 탐지하기 위해 함수의 스택 프레임에 삽입되는 보호 값.Stack Canary 보호 기법Stack Canary는 함수가 실행될 때 스택에 임의의 값을 넣어두고, 함수가 종료되기 전에 해당 값이 변조되었는지 확인하는 보호 기법이다.버퍼 오버플로우가 발생하면 일반적으로 지역 변수 영역을 넘어 SFP, Return Address 까지 덮어쓰게 된다.이때 Return Address 앞에 Canary 값을 배치해두면, Return Address가 덮이기 전에 Canary 값이 먼저 변조된다.char buf[0x30];read(0, buf, 0x100);위의 C언어 코드는 buf의 크기보다 더 많은 데이터를 입력받기 때문에 Stack..
Shellcode - orw Shellcode
·
공부한 것
Shellcode셸코드(Shellcode): 익스플로잇을 위해 제작된 어셈블리 코드 조각.orw Shellcodeorw 셸코드: 파일을 열고, 읽고 화면에 출력하는 셸코드.char buf[0x30];int fd = open("/tmp/flag", RD_ONLY, NULL);read(fd, buf, 0x30);write(1, buf, 0x30);위의 C언어 코드를 셸코드로 구현해보자orw Shellcode를 작성하기 위해 필요한 syscall은syscall rax rdi rsi rdxread0x00unsigned int fdchat *bufsize_t countwrite0x01unsigned int fdconst char *bufsize_t countopen0x02const char *filenameint..
CVE-2026-28466
·
공부한 것
CVSS: 9.9대상 서비스OpenClaw게이트웨이와 노드 간 WebSocket 기반 통신을 통해 명령 실행, 도구 호출, 원격 작업을 처리하는 시스템연결된 노드 호스트에 대해 system.run 같은 명령 실행 기능을 제공함게이트웨이에서 인증된 클라이언트 요청을 받아 노드 레지스트리를 통해 대상 노드로 전달하는 구조임승인 기반 실행 통제 로직을 통해 위험 명령의 실행 여부를 제어하는 보안 게이트를 포함하고 있음대상 버전영향 받는 버전: 2026.2.14 이전의 OpenClaw 버전패치 버전: 2026.2.14 이후 수정 버전취약점 개요취약점의 종류RCE인증 후 원격 코드 실행승인 우회node.invoke 호출 시 내부 승인 필드가 정화되지 않아 실행 승인 게이트를 우회할 수 있음.파라미터 인젝션공격자가..
CVE-2026-26954
·
공부한 것
CVSS: 10.0대상 서비스SandboxJSJavaScript 코드를 격리된 환경에서 실행하기 위한 JavaScript 샌드박스 라이브러리호스트 전역 객체 및 위험한 내장 객체에 대한 접근을 제한해 비신뢰 코드 실행 환경을 제공하는 목적의 라이브러리내부적으로 허용된 프로토타입과 속성 집합, 래퍼 객체, taint 추적, 실행 제한 등을 기반으로 샌드박스 경계를 유지함Node.js 환경 등에서 동적 코드 실행, 플러그인 처리, 사용자 스크립트 격리 용도로 사용될 수 있음대상 버전영향 받는 버전: SandboxJS 0.8.34 이전 모든 버전패치 버전: SandboxJS 0.8.34취약점 개요취약점의 종류Sandbox EscapeRCE비인증 임의 코드 실행 가능 구조taint 추적 우회위험한 호스트 함수가..
CVE-2026-3672
·
공부한 것
CVSS: 7.8대상 서비스JeecgBootJava 기반의 저코드/엔터프라이즈 개발 프레임워크코드 생성기, 권한 관리, 딕셔너리, 온라인 개발 등 백오피스 성격의 기능을 통합 제공함Spring Boot, MyBatis-Plus, Vue 기반으로 구성되며 국내외에서 빠른 업무 시스템 구축 용도로 사용됨내부적으로 WAF 성격의 SQL 필터링 로직을 포함하고 있어 일부 동적 쿼리 입력에 대한 방어를 수행함대상 버전영향 받는 버전: JeecgBoot 3.9.0, 3.9.1취약점 개요취약점의 종류SQL Injection인증 후 SQL 인젝션WAF 우회JeecgBoot 내장 WAF의 정규식 및 블랙리스트 검증 로직을 우회할 수 있음.동적 SQL 인젝션외부 입력이 filterSql로 해석되어 SQL의 where 절 ..
CVE-2026-21236
·
공부한 것
CVSS : 7.8대상 서비스Windows Ancillary Function Driver for WinSock (AFD.sys)Windows 커널 모드에서 동작하는 드라이버유저 모드의 WinSock(Windows Socket) API 호출을 커널 레벨에서 처리하는 네트워킹 컴포넌트TCP/IP, UDP 등 네트워크 프로토콜의 소켓 서비스를 구현함유저 모드 소켓 API를 마샬링하고 IOCTL 및 제어 요청을 처리한 뒤 하위 레벨 전송 드라이버와 상호작용함커널 컨텍스트에서 실행되면서도 일반적인 네트워킹 API를 통해 접근이 가능함대상 버전Windows 11: 22H3, 23H2, 24H2, 25H2, 26H1 (build 10.0.28000.0)Windows 10: 1607, 1809, 21H2, 22H2Wi..
CVE-2026-33017
·
공부한 것
CVSS: 9.3대상 서비스LangflowLLM을 기반으로 한 애플리케이션을 노코드/로우코드 방식으로 설계, 실행할 수 있는 비주얼 워크플로우 도구깃허브 스타 145,000기업에서 AI 워크플로우 자동화 도구로 많이 사용.대상 버전영향 받는 버전 : Langflow 1.9.0 이전 모든 버전패치 버전 : Langflow 1.9.0취약점 개요취약점의 종류RCE비인증 원격 코드 실행인증 누락공개 플로우 빌드 엔드포인트(/api/v1/build_public_tmp/{flow_id}/flow)가 인증 없이 접근 가능함.코드 인젝션공격자가 제공한 플로우 정의 데이터 내에 임의의 Python 코드를 삽입할 수 있음.Eval 인젝션삽입된 코드라 exec() 함수에 직접 전달되어 샌드박싱 없이 실행되는 구조임.발생한 ..
블록 암호 - AES
·
공부한 것
AES란?AES는 블록 암호의 표준 알고리즘이다. 지금까지도 기밀성을 위협하는 치명적인 취약점이 발견되지 않았고, 현대에 대칭키 암호 알고리즘을 사용할 때 많은 경우 AES가 사용된다. 대칭키 암호의 요건대칭키 암호가 갖추어야 할 요건엔 혼돈과 확산이 있다.혼돈은 키와 암호문 사이의 관계가 가능한 한 복잡해야 한다는 것. 암호문의 모든 비트는 키의 여러 부분에 의존해야 한다는 것이고,확산은 평문이 암호문 대부분에 걸쳐 분산되어야 한다는 것. 평문을 1비트만 바꿔도 암호문은 절반 비트 가량이 바뀌어야 한다는 것이다. AES의 암호 구조AES는 SPN이라는 암호 구조를 사용한다. SPN은 S-BOX를 사용하는 치환과 P-BOX를 사용하는 순열을 여러 라운드에 걸쳐 반복한다. 기존 암호와의 차이AES 이전에 ..
암호학 - 고전 암호 공격
·
공부한 것
고전 암호의 공격 방법은 대표적으로 전수 키 탐색 공격과 빈도수 분석이 있다. 전수 키 탐색 공격은 평문과 암호문을 알 때, 키 공간을 전부 탐색해 주어진 암호문과 같은 암호문을 생성하는 키를 찾는 방법이다.단순한 공격 방법이지만 키 공간의 크기가 작다면 빠른 시간 안에 키를 찾고 해독할 수 있다.단일 치환 암호인 카이사르 암호는 키 공간이 26으로 매우 작기에 전수 키 탐색 공격에 취약하다. 빈도수 공격은 단일 치환 암호는 평문의 문자와 암호문의 문자가 항상 일대일 대응을 이루기 때문에 평문의 통계적 특성이 유지된다.평문에서 특정 문자를 다른 문자로 치환해서 암호문을 만들었다면 그 치환한 문자가 가장 암호문에서 많이 등장할 가능성이 높다. 이런 추측을 바탕으로 암호문을 복구하는 것이 빈도수 분석이다.다..