본문 바로가기

전체 글83

[용어] SNMP 1. 각 호스트로부터 정기적으로 여러 관리정보를 자동으로 수집하거나 실시간으로 상태를 모니터링 및 설정할 수 있는 서비스의 프로토콜 2. 구성요소 1. 관리 시스템: Manager - 162/udp 2. 관리 대상: Agent - 161/udp 3. 네트워크 관리를 위한 목적으로 주로 서버나 네트워크 장비에서 SNMP를 설정한 후 MRTG 프로그램을 이요해 트래픽 관리를 위해 사용된다 1. MRTG: Multiple Router Traffic Grapher: 네트워크 트래픽 사용량 모니터링. 벤더에서 제공하는 SNMP MIB값을 사용하여 다양한 정보수집 가능 4. 계층: OSI 7, 전송계층: UDP 3. Manager와 A.. 2026. 10. 4.
[툴] Burp suite 1. 정의 Download Burp Suite Community Edition - PortSwigger - 웹 애플리케이션 보안 취약점을 점검하는 통합 플랫폼 - 프록시(Proxy)를 통한 HTTP/S 트래픽 가로채기 및 수정 - 자동화된 스캐너, Intruder를 통한 자동화 공격, Repeater를 이용한 요청 반복 테스트, 확장 스토어(BApp)를 통한 기능 확장 등을 지원하여 웹 모의해킹의 표준 도구로 사용됩니다. b. 실습 How to use Burp Suite for Beginners 1. Open browser 2. DVWA: Damn Vulnerable Web App를 .. 2026. 10. 4.
[Spring] spring security 💬 시큐리티 기본 작동 원리→ 사람이 많아져서 시큐리티로 통하는 문이 많아짐 (로드밸런싱) → 카드키 발급 명부는 같이써야 회원이 어느 문으로 들어가든 확인가능→ 카드키 명부를 rdbms로 사용해 매번 db조회를 하면 굉장히 비효율적이므로 이 경우에는 캐시형 db인 redis를 선호한다.참고 : https://www.youtube.com/watch?v=cv6syIv-8eo&list=PL93mKxaRDidERCyMaobSLkvSPzYtIk0Ah&index=13💬 CORS엄밀히 말하면 시큐리티와 관련된 기능은 아니다브라우저가 다른 origin에서 커뮤니케이션 하려고할때 발생하는 디폴트 보안이다.다른 originhttp or https다른 도메인다른 포트만약 다른 origin을 갖는 1,2,3인 경우에도.. 2026. 10. 4.
[Kotlin] coroutine 용어 정리blockingvar data = getData() // 1println(data)// 2데이터를 반환하는 함수의 리턴값을 변수에 할당.데이터를 사용할 수 있게 되면 데이터가 출력됨.데이터를 완전히 얻을 때 까지 프로그램이 멈추게 된다 (1~2 사이) 이를 블로킹작업이라고 한다.병렬성 : 코딩을 하면서 음악을 듣기 (’손’과 ‘귀’을 동시에 사용) - 멀티코어 프로세서의 멀티스레드동시성 : 코딩을 하면서 과자를 먹기 (손을 ‘키보드’와 ‘과자’에 사용) - 코루틴1. Coroutine이란?애플리케이션을 개발하는 동안 네트워크, 데이터베이스호출 또는 복잡한 계산, api호출, 데이터 다운로드 등등..과 같이 긴 시간에 걸쳐 작업을 수행해야하는 상황이 자주 발생할때 사용한다.백그라운드에서 또는 비동.. 2026. 10. 4.
[JPA] hibernate 0. HibernateJava 객체를 SQL을 직접 작성하지 않고 데이터베이스에 저장하고 조회할 수 있도록 해주는 기술, ORM(Object-Relational Mapping) 프레임워크Spring에서는 보통 JPA의 구현체로 Hibernate를 많이 사용한다. JPA는 Java Persistence API의 약자로, Java 객체를 관계형 데이터베이스에 저장하고 관리하기 위한 표준(규칙)입니다.JPA 자체가 구현체가 아니라는 것. a. pom.xml mysql mysql-connector-java org.hibernate hibernate-entitymanager 5.3.7.Final b. persistence.xml위치 : resources/META-INF/persisten.. 2026. 10. 4.
[용어] WAF 1. 웹 애플리케이션 보안에 특화되어 개발된 솔루션 2. SQL Injection, Cross-Site Scripting(XSS)등과 같은 웹 공격을 탐지하고 차단 3. 종류 1. 화이트리스트 방식: 신뢰할 수 있는 트래픽, 블랙리스트: 차단하는 트래픽 4. 세대 1. 1세대: 화이트리스트 + 블랙리스트 2. 2세대: 모니터링, 분석 후 화이트리스트를 자동 생성. 3. 3세대: 공격 유형별로 화이트리스트, 블랙리스트 탐지 및 컨텐츠 분석하여 공격을 탐지 5. 형태 1. 하드웨어형: LAN 2. 소프트웨어형: vm 3. 클라우드형 6. 지능형 웹 방화벽 (WAPPLES) 1. 웹방화벽, 방화벽.. 2026. 10. 4.
[관제] PROFIND WebDAVWeb based Distributed Authoring and Versioning웹기반 분산형 저작 및 버전관리웹을 통하여 웹서버에 파일을 관리(목록 조회, 수정, 삭제, 이동 등)을 할 수 있는 확장된 http 프로토콜공유자원 불가(락킹 사용가능) - 동시성 제어웹을 읽기 전용 매체가 아닌 쓰기 가능한 공동매체롤 볼 수 있다.기능MS Office나 Librere Office등 문서에 대한 동시 편집 기능에 구현아파치 웹서버, nginx, synology nas등에파일 관리기술에 구현 존재 WebDAV에서 확장된 메서드PROFIND: 리소스르 위한 속성을 검색, 웹의 파일 목록과 속성을 검색한다.PROPATCH: 하나의리소스에 대한 속성을 변경Nginx의 ngx_http_dav_moduleN.. 2026. 10. 4.
[리버싱] 실행 코드 분석 간단한 코드를 디스어셈블리로 뜯어본 기록1. 개요WinExec으로 cmd 창을 띄우는 간단한 코드를 작성하고, 이걸 디스어셈블리로 들여다보면서 어셈블리 레벨에서 어떤 일이 일어나는지 확인해본 기록이다.2. 소스 코드 작성 및 컴파일가장 먼저 테스트할 기본 C 소스 코드#include "windows.h"int main(){ char cmd[4] = { 'c', 'm', 'd', '\x0' }; WinExec(cmd, SW_SHOW); ExitProcess(1);}코드를 빌드하고 디버깅(F5)을 시작하면 정상적으로 cmd 창이 띄워지는 것을 볼 수 있다.3. 디스어셈블리 분석브레이크 포인트 잡고 WinExec코드에서 디스어셈블리로 이동main함수 코드 전체#include "windows.h.. 2026. 10. 3.
[etc] MacBook(m1) 초기세팅 개인용 맥북에어 샀다 🍎회사에서 쓰는 맥북(m1) 처음 세팅했던 기억을 더듬어서 초기세팅 가이드 작성하려 함. homebrew더보기https://brew.sh/index_ko 접속 후 위 코드 복붙다운로드 완료되면 Next step 후의 내용 echo~부터 복붙 해서 실행한다.그다음 brew help 명령어 입력하고대충 이렇게 뜨면 다 설치된 것 iterm2https://iterm2.com/ iTerm2 - macOS Terminal ReplacementiTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrainiterm2.com.. 2021. 8. 9.
[Springboot] htmlConverter사용해서 pdf파일 만들기(+한글폰트설정) 1. 먼저 프론트단에서 head, body 등 코드를 string 형태로 가져온다.const head = document.head.innerHTML;const body = document.body.innerHTML; $('#pdfBtn').click(function(){ $.ajax({ type: "POST", dataType: 'application/json', url: "주소~~", data: { "head": head, "body": body, }, success: function (data) { .. 2021. 7. 29.
[etc] Error Domain=NSPOSIXErrorDomain Code=86 맥북 M1 업데이트 후 인텔리제이에서 갑자기 자바 구동이 안되면서 이런 오류가 뜰때Rosetta 2 설치해주면 된다.(비밀번호 입력 필요)softwareupdate --install-rosetta 2021. 6. 21.
[SQL] QueryDSL http://www.querydsl.com/static/querydsl/4.0.1/reference/ko-KR/html_single/ Querydsl - 레퍼런스 문서본 절에서는 SQL 모듈의 쿼라 타입 생성과 쿼리 기능을 설명한다. com.querydsl.sql.Configuration 클래스를 이용해서 설정하며, Configuration 클래스는 생성자 인자로 Querydsl SQL Dialect를 취한다. 예를 들어, H2www.querydsl.com dependenciesquerydsl-aptquerydsl-jpaslf4j-log4j12 apt plugin ... com.mysema.maven apt-maven-plugin 1.1.3 .. 2021. 6. 16.
[Project2][React] 기본세팅 npx create-react-app 프로젝트명입력해서 리액트 기본세팅해준다. 프로젝트명은 react-front로 했다. - bootstrap설치방법1. CDN 복붙public폴더 안에 있는 index.html에서 방법2. 터미널에서 설치npm install --save reactstrap bootstrap  - axios 설치 역시방법1. CDN방법2. 터미널npm install axios - Router 설치npm install react-router-dom 2021. 5. 28.
[Project2][Springboot] 초기설정 sts를 사용해서  프로젝트 만들기 다음에 위와 같이 패키지 & 클래스 만들어준다. SpringbootBackApplication.javapackage com.jiyeon.springboot;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class SpringbootBackApplication { public static void main(String[] args) { SpringApplication.run(SpringbootBackApplication.class, args); }}가장 상.. 2021. 5. 28.
[Network] HTTP 시작, header, body HTTP시작라인 요청라인(시작라인) : 예시 ) GET /user/test.htm HTTP/1.1GET | POST | PUT | DELETE 사용가능상태라인(시작라인) 예시 ) HTTP/1.1 200 OK1xx : Informational - 임시적인 응답 계속진행하라는 의미2xx : Success - 성공적으로 수신, 해독됨3xx : Redirection - 추가 동작 필요4xx : Client Error - 메시지 내용자체가 잘못됨, 금지된 영역에 대한 접근요청 등5xx : Server Error - 메시지내용은 이상x , 서버 쪽 사정에 의해 메시지처리에 문제 생김 HTTP 헤더기본형태 - 필드이름 : 필드값 Accept :클라이언트에서 사용가능한 미디어타입(요청메시지에만 사용 가능)ex) Acc.. 2021. 5. 27.
[Network] IP Header ip패킷은 ip헤더와 데이터로 구성되어 있고1 ip헤더2 데이터 그중 ip헤더의 생김새는 아래와 같다. Version : 현재 버전 4인 ipv4Header length : 현재 헤더의 길이를 32비트(==4바이트) 단위로 표시한다. 전체길이를 4바이트씩 나누면 몇 덩어리인가?를 물어보는 것Service Type: 상세용도는 rfc1349에 언급되어 있으며 대부분의 시스템에서는 지원하지 않는 영역Total Length : ip패킷길이(ip헤더 + 데이터)를 바이트단위로 표시하는 영역. 이론상으로는 64k 바이트까지 가능하지만 링크계층의 MTU길이에 의해 제한될 수 있다. 이더넷의 MTU는 1500바이트라서 ip패킷길이가 이보다 크다면 ip분할을 해서 여러 조각으로 나눠진다.Identification(ID.. 2021. 5. 27.
[Java] contextLoaderListener 오류 프로젝트명 - 오른쪽 마우스 - Properties Deployment Assembly - Add - Java Build Path Entries - Maven Dependencies 그림과 같이 해주면 해결. 2021. 5. 26.
[Javascript] this 리액트 하다가 헷갈려서 정리해 본다. var someone = { name:'jy', whoAmI : function(){ console.log(this); }};someone.whoAmI(); 콘솔에 jy var someone = { name:'jy', whoAmI : function(){ console.log(this); }};someone.whoAmI();var myWhoAmI = someone.whoAmI;myWhoAmI(); 결괏값 : 1행 jy 2행 window 어쩌고1 - somone.whoAmI() 실행 시에는 someone이 있고2 - myWhoAmI() 실행 시에는 실행할 대상이 없어서 윈도우가 실행한다.  var someone = { name:'jy.. 2021. 5. 25.
[React] Router 터미널에서 라우터 설치npm install react-router-dom index.js에서 import 하고 import {BrowserRouter} from 'react-router-dom';아래와 같이 BrowserRouter로 App을 감싸준다.ReactDOM.render( , document.getElementById('root'));  HashRouter를 쓰면 /#/ 로 전송되고 그 데이터는 서버에 전송되지 않음import {HashRouter} from 'react-router-dom'; App.js에서 importimport {Route} from 'react-router-dom'; 그리고 아래와 같이 추가하고 메인 .. 2021. 5. 21.
[React] react-bootstrap https://react-bootstrap.netlify.app/ React-BootstrapThe most popular front-end framework, rebuilt for React.react-bootstrap.github.io 여기 들어가면 react에서 쓰는 부트스트랩을 사용할 수 있다.get started 클릭해서 설명 읽어본다. 방법 1. 먼저 터미널에 입력하고 설치npm install react-bootstrap bootstrap@4.6.0 그리고 사용 시에는 import를 해준다.import Button from 'react-bootstrap/Button'; // or less ideally import { Button } from 'react-bootstrap'; 혹은 방법2. p.. 2021. 5. 21.
[Project][Springboot] api 활용 api를 이용해서 등록, 수정, 조회를 해보려고 한다. c(r)ud 책에서 Layer에 대해 설명한 내용은 아래와 같다. 내가 스프링으로 이해하고 도식화해 본 것이라 Mapper랑 VO는 갈길을 잃었다.  여기서 Business모델 처리하는 Service계층은 데이터 접근과 웹 구현 사이에서 중간다리역할을 함 실습>>  이렇게 클래스 생성      먼저 PostsApiControllerpackage co.kr.project2.web;import co.kr.project2.domain.posts.PostService;import co.kr.project2.web.dto.PostSaveRequestDto;import lombok.RequiredArgsConstructor;import org.springfra.. 2021. 5. 20.