일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 미국주식
- 자바
- etf
- 제태크
- 주린이
- 그리디 알고리즘
- 무디스
- 인플레이션
- Redis
- 프로그래머스
- StringBuffer
- 접근제어자
- 오버라이딩
- 알고리즘
- 객체지향
- mco
- 주식
- 잉여현금흐름
- 배당성장
- 현금흐름표
- Java
- 다형성
- XLF
- 기업분석
- 백준
- javascript
- 금리인상
- Bandit
- S&P500
- FCF
- Today
- Total
목록분류 전체보기 (287)
Dukbong
Java에서 Thread는 어플리케이션에서 실행되는 가장 작은 단위의 작업 흐름을 의미합니다.하나의 Process는 N개의 Thread를 가질 수 있으며 N개의 Thread가 동시에 실행되는 환경을 Multi-Thread라고 합니다.Java는 대표적인 Multi-Thread 환경이며 여러 작업을 병렬 처리하여 자원을 효율적으로 사용할 수 있는 장점이 있지만 동기화 문제와 교착 (Dead Lock) 상태 같은 문제들을 발생 할 수 있습니다.Thread 종류Java Thread는 크게 동작 방식과 역할에 따라 2가지로 분류할 수있습니다.1. User Thread백그라운드에서 동작하며 주요 로직을 수행하는 스레드를 의미합니다.JVM은 모든 User Thread가 종료될 때까지 기다렸다가 종료됩니다.하나라도 남..

해결 과정우선 현재 디렉토리에 어떤 것들이 있는지 파악합니다.해당 서버가 어떤 Git 설정을 가지고 있는지 파악합니다.[remote "origin"] 정보가 없기 때문에 git init으로 초기화된 로컬 전용 Git 저장소일 가능성이 매우 높습니다.log를 우선 살펴봅니다.아무리 봐도 되게 수상합니다.수상한 저 글자를 추출합니다.추출한 글자를 한줄로 표시 합니다.문제에서 거울에 비춰보라고 했으니 역순으로 정렬하여 정답을 확인합니다.

🍪 Cookie는 어디에 저장되고, 어떻게 동작할까?브라우저는 서버로부터 받은 Cookie를 도메인 + 경로(Path) 기준으로 저장해요.예를 들어 www.test.com 서버가 /user/profile 주소로 응답하면서 Path=/user/로 설정된 쿠키를 보냈다면 해당 쿠키는 www.test.com/user/로 시작하는 모든 요청에 자동으로 포함됩니다.브라우저는 Set-Cookie 응답 헤더를 통해 서버가 보낸 쿠키를 Origin 기반 저장소에 보관합니다.Set-Cookie: token=abc123; Path=/users; HttpOnly; Secure; SameSite=Lax;항목설명Domain해당 쿠키가 유효한 도메인 (기본: 응답한 도메인)PathURL 경로 조건 (기본: 현재 경로 이하)Se..

Error-Based SQL Injection은 SQL 쿼리 실행 중 발생하는 오류 메시지를 기반으로 데이터베이스 구조 및 민감 정보를 탈취하는 공격 기법으로 사용자의 입력값을 검증 없이 쿼리에 포함시킬 경우 발생하는 보안 취약점으로 의도하지 않은 SQL 구문이 실행되어 민감 정보가 유출될 수 있습니다.☑️ 사전 참고SQL Injection에 대한 기본 개념과 다양한 유형이 궁금하다면 아래 글을 먼저 참고하세요. [웹 취약점 실습] SQL Injection을 이용한 사용자 계정 정보 탈취 - Blind SQL Injection, General SQL InjectionSQL Injection은 사용자의 입력값을 검증하지 않고 SQL 쿼리에 그대로 포함시켜 실행되는 보안 취약점으로 의도하지 않은 쿼리를 주입..

Database는 애플리케이션의 핵심이지만 잦은 데이터 조회는 성능 저하 & 부하를 일으킬 수 있습니다.Cache는 자주 사용하는 데이터를 메모리에 저장하여 Database 조회 비용과 응답 시간을 줄임으로써 위에 있는 문제를 해결하는데 중요한 역할을 합니다.목적 : Cache는 Memory Access이고 Database는 I/O 작업이기 때문에 훨씬 빠르게 조회 가능 및 부하 감소한계 : Cache와 Database 간 불일치 가능성 존재Redis Caching 전략데이터를 어떻게 저장하고 Database와 어떻게 동기화할지에 따라 크게 3가지로 나눠질 수 있습니다.✔️ Cache Aside (Lazy Loading)가장 보편적으로 사용되고 구현하기 쉬운 전략 중 하나입니다.이름처럼 애플리케이션이 캐..

SQL Injection은 사용자의 입력값을 검증하지 않고 SQL 쿼리에 그대로 포함시켜 실행되는 보안 취약점으로 의도하지 않은 쿼리를 주입(Injection)하여 데이터를 탈취하거나 조작하는 공격입니다.최근에는 다양한 방어 기법과 ORM 기술들이 적용되며 SQL Injection에 대한 대응이 개선되고 있지만 레거시 시스템에서는 여전히 이 취약점이 존재하는 경우가 많습니다.특히 오래된 프로젝트는 구조적으로 보안 업데이트가 어려운 경우가 많아 현실적인 보안 리스크로 여겨지고 있습니다.이러한 이유로 OWASP Top 10에서도 Injection은 가장 심각하고 빈번하게 발생하는 보안 취약점 중 하나로 분류되어 3위(A03:2021)를 차지하고 있습니다.해당 항목에는 SQL Injection뿐 아니라 Cro..

DVWA(Damn Vulnerable Web Application)는 웹 애플리케이션 보안 실습을 위한 플랫폼입니다.이번 글에서는 Command Injection 취약점 중 Low ~ high 보안 등급에서의 동작을 살펴보고 실제 공격 시나리오와 취약점 원인을 PHP 코드로 분석합니다.Command Injection 이란?사용자 입력값이 서버의 명령어 실행 함수에 그대로 전달되어 임의 명령어를 실행할 수 있게 되는 취약점입니다.공격자는 시스템 명령어를 삽입하여 파일 탐색, 시스템 정보 탈취, 권한 상승 등을 시도할 수 있습니다.🔓 Low 보안 등급{$cmd}";}?>취약점 분석shell_exec() 함수는 인자로 전달된 문자열을 OS 명령어로 실행하고 결과를 반환합니다.사용자 입력값 $_REQUEST[..

웹 서비스에서 URL endpoint의 작은 노출만으로도 보안 사고로 이어질 수 있습니다.공격자는 노출된 URL 정보를 바탕으로 브루트포싱(Brute-forcing) 기법을 통해 접근 가능한 숨겨진 경로나 기능을 찾아내고 이를 악용할 수 있습니다.1. 작은 노출이 불러오는 큰 위협서비스 운영 중 일부 URL이 외부에 노출되는 일은 흔히 발생하지만 이러한 정보가 공격자에게는 서비스 전체 구조를 파악하는 단서가 될 수 있습니다. 특히 다음과 같은 경우 심각한 보안 사고로 이어질 수 있습니다.인증/인가가 제대로 적용되지 않은 경우관리자 페이지 또는 민감한 기능에 직접 접근 가능한 경우따라서 URL 노출은 단순한 실수가 아닌 전체 보안 체계의 붕괴로 이어질 수 있는 취약점입니다.2. Brute-forcing U..

Redis Transaction Redis에서도 트랜잭션(Transaction) 개념을 지원합니다.트랜잭션은 여러 개의 명령어를 하나의 묶음으로 실행하는 것처럼 Redis에서 명령합니다.MULTIDECR coupon:summer_sale:stockLPUSH user:1:coupons "summer_sale"EXEC해당 예시를 설명해보겠습니다.MULTI : 트랜젝션 시작DECR, LPUSH 명령어를 Queue에 삽입EXEC : Queue에 삽입한 명령어를 한번에 실행기본 구성Redis 트랜잭션은 다음 세 가지 명령어를 중심으로 이루어집니다.MULTI : 시작EXEC : 순차적으로 실행DISCARD : Queue안에 있는 데이터 모두 제거작동 방식Redis 트랜잭션은 위에서 말했듯이 명령어를 모아뒀다가 EX..

해킹 공격에서 비밀번호 탈취는 핵심적인 목표로 공격 대상이 되는 계정은 크게 일반 사용자, 시스템 운영에 필요한 특수 사용자 그리고 시스템의 모든 권한을 가진 루트(Root) 사용자로 나눌 수 있습니다.이 중 특히 특수 사용자나 루트 사용자의 비밀번호 탈취 사건은 시스템 전체의 보안을 무너뜨리고 대규모 정보 유출이나 서비스 마비와 같은 심각한 문제를 야기하며 뉴스 속보로 다뤄지곤 합니다. 이처럼 치명적인 피해를 막기 위해 리눅스 시스템에서는 강력한 비밀번호 정책과 철저한 관리가 필수적입니다.이번 글에서는 리눅스 시스템의 사용자 계정 정보와 비밀번호 보안의 핵심이 되는 /etc/passwd와 /etc/shadow 파일을 깊이 있게 분석하고 이를 통해 비밀번호 정책을 어떻게 설정하고 관리하는지 알아보겠습니다..