보안&네트워크51 내 메일 SMTP 설정 열기 = 파이썬에서 본인의 아이디를 이용하여 메일 보내는 방법을 위한 설정 (feat : 네이버메일 ) 네이버메일 > 환경설정 > POP3/IMAP 설정> POP3/SMTP 설정 > 사용함 클릭 > 저장 파이썬 크롤링 시 사용하였음 2024. 8. 19. Chrome/크롬, Edge/엣지 다른 포트(Port)로 열기 크롬CMD 창 (예시 - 9222포트)예시)"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\chrome_profile엣지"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9223 --user-data-dir="C:\edge_profile - 크롤링 할 때 사용 2024. 8. 12. 주기적인 백도어 검사 방법 실행권한이 있는 파일, 특수권한이 있는 파일 검사 해시 값 검사 2023. 3. 21. 리눅스 부팅 순서 리눅스 부팅 순서 swap(0번) -> init(1번) 리눅스 부팅 시 swap 프로세스가 기동되어 디스크에 있는 리눅스 이미지를 주기억장치에 적재(Load)한다. 이후 init 프로세스가 기동는데 PID 1번을 가지고 자식 프로세스를 생성한다. 자식 프로세스는 fork 명령을 실행해서 inetd와 같은 프로세스를 기동 2023. 3. 19. 대칭키의 개수 구하는 공식 대칭키 키의 개수 공식 : N(N-1)/2 시스템에 가입한 사용자 마다 하나의 키를 공유 해야함 예를들어 1~10번까지의 사용자가 있으면 각각 사용자가 9개의 서로의 키를 가져야함 총 90개가 필요 공개키 키의 개수 공식 : 2N ** N 명이랑 통신할 때 필요한 키의 개수 2023. 3. 18. SQL Injection 방어 (바인딩 쿼리) SQL Injection 방어 쿼리바인딩 과정 ( 파싱 과정을 1번만 거친다는 의미) 파싱 -> 바인드 -> 실행 -> 패치 (꺼내옴) 변수의 자리에 '?' 등을 사용, 바인딩 데이터는 SQL문법이 아닌 내부의 인터프리터나 컴파일 언어로 처리하기 때문에 문법적인 의미를 가질 수 없다. 따라서 바인딩 변수에 SQL공격 쿼리를 입력할지라도 의미있는 쿼리로 동작하지 않는 이유이다. Prepared Statement 사용시 쿼리 동작 방식 1. 파싱 (메모리에 올라감) select 나이 from user where id = ? (물음표라는 바인딩 변수 사용) 만약 Prepared Statement 사용 시 이 과정을 1번만 진행 함 그니까, 이미 메모리에 올라가서 인간이 이해 가능한 있는 공격 문자열을 Inje.. 2023. 3. 17. 리틀엔디언 vs 빅엔디언 엔디언(Endianness) 컴퓨터의 메모리와 같은 1차원 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻함 예시 - 0x12345678을 각기 방식으로 표현한다면? 1. 빅엔디언(Big-Endian) - 최상위 바이트부터 차례로 저장하는 방식(MSB = Most Significant Byte) -> 12 34 56 78 2. 리틀엔디언(Little-Endian) - 최하위 바이트부터 차례로 저장하는 방식(LSB = Least Significant Byte) -> 78 56 34 12 빅엔디언(Big-Endian) 리틀엔디언(Little-Endian) - 사람이 숫자를 읽고 쓰는 방법과 같기 때문에 디버깅 과정에서 메모리 값을 보기 편함 - 숫자를 앞에서 부터 차곡차곡 스택에 집어 넣음 - 비교 연산.. 2022. 2. 11. VDI (Virtual Desktop Infrastructure) VDI는 가상 머신을 이용하여 가상 데스크톱을 제공하고 관리 중앙집중식 서버에서 데스크톱 환경을 사용자에게 제공 말이 좀 어려울 수 있는데 천천히 알아보자 1. VDI 하이퍼바이저가 서버를 가상머신으로 세분화하고, 가상머신은 가상 데스크톱을 호스팅하며, 사용자는 각자의 로컬 기기를 통하여 원격 데스크톱에 액세스한다. 2. 언제 사용할까? 보통 기업은 망분리가 되어 있기에 로컬 PC로는 인터넷 사용이 불가하다. 근데 인터넷 사용을 하지 않고 어떻게 작업을 할 수 있겠는가? 이때 사용한다. 로컬 PC에서 가상 데스크톱으로 붙은 후 해당 가상 환경에서 인터넷을 사용하는 개념이다. 실 데이터들은 중앙 서버에 저장되기에 보안성 문제도 해결 가능하다. 중앙 집중식 관리가 편하다. (손쉽게 패치 가능) 3. VDI .. 2022. 2. 11. 세션 하이재킹 HTTP 세션 하이재킹 세션이 문자열이기 때문에 하이재킹이 가능. TCP 세션 하이재킹 시퀀스 번호를 변조하여 클라이언트 인 척 함. 연결 확립된 세션에 대해 RST를 보내 세션을 끊고 재연결을 통해 인증 동작원리 1. Client Server Established 상태 확인 후 시퀀스 넘버 스니핑 (서버 = Established) 2. 공격자는 세션이 안끊기는 Sequence Number 범위에서 RST 패킷을 생성 후 서버로 전송 (RST패킷으로 인해 서버=Closed로 됨) 3. 서버가 Closed 일 때 공격자는 SYN ( A_Client_My_Seq )를 생성하여 서버에 보냄. (서버=Closed) 4. 서버는 새로운 연결인 A_Client_My_Seq를 받고 (즉, 클라이언트가 다시 연결한 것.. 2022. 1. 24. 보수 (feat. 컴퓨터의 뺄셈 처리) 보수 (1의 보수, 2의 보수) 우선 컴퓨터는 덧셈 밖에 못한다. 만약 A – B 를 처리하는 방법은 A + (-B) 이런식으로 처리한다. 1의 보수 (0과 1의 순서를 바꿈) : 10101(2) -> 01010(2) 2의 보수 : 1의 보수 +1 컴퓨터는 음수를 2의 보수로 표현한다. : 10101(2) - 01101(2) / 21 - 13 우선 01101을 ‘1의 보수 + 1’ 즉, 2의 보수로 만든 다음에 최상단 비트의 반올림이 존재할 경우 최상단 비트 1을 버린다. : 즉, 10101(2) - 01101(2) -> 10101(2) + 10011(2) = 10 1000 로 나오고 최상단 1을 버리면 01000 즉 8이라는 값이 나온다. Q. 4비트는 즉, 16가지의 경우의 수가 있음. 근데 보통 4.. 2022. 1. 24. Vitrual Address Space(VAS) 사전 개념 설명 1. 운영체제의 ‘커널(Kernel)‘ 이라는 엔진이 메모리 전체를 통제한다. 2. 어플리케이션(프로세스)는 메모리가 필요하다. 3. 커널이 응용프로그램(프로세스)한테 메모리를 할당 해줌. 4. 부족하면 응용프로그램은 요청함. 5. 그러다가 메모리가 충돌이 나는 현상이 발생함(같은 주소를 할당해줌) 6. 그래서 VAS 개념이 나옴 Vitrual Address Space(VAS) 왜, 가상 공간을 만들어 주냐면 우물 안 개구리를 만드는거임. 즉, 프로세스가 인지할 때 이 세상(메모리 상)에 나 밖에 없음. 나 밖에 없으니까 다른 프로세스와 충돌을 할 수가 없음 만약 RAM이 4GB = Ox00000000부터 OxFFFFFFFF 까지 (32비트) 여기서 2GB 커널이 쓰고 2GB는 응용프로그.. 2022. 1. 17. 리버싱 할 때 Debug와 Release 리버싱 할 때 Debug와 Release 1. Debug는 무겁다. Immunity Debugger로 분석할때 함수 이름이 안 나오고 숫자로 나옴. (보기 어려움) 2. Release는 가볍다. 그리고 Immunity Debugger로 분석할때 함수 이름이 그대로 나옴. 어셈블리 코드도 좀 더 적고 실행에 최소한의 코드만 적용되는 듯 싶다. 2022. 1. 17. 하드디스크 하드디스크 설명 Disk, platter (동그란 CD같은거) 디스크가 1장짜리도 있고, 2장, 3장 짜리도 있음. 데이터를 기록하는 방법은 자력(마그네틱)을 이용한 읽고 쓰기. 회전할때 회전축(Spindle)을 모터가 돌려줌 모터(Spindle Moter) Read, Write Head 디스크를 왔다갔다 하는 앞 부분이 헤드(head) 왔다갔다하게 힘을 주는 헤드구동장치(actuator) 헤드와, 헤드구동장치를 이어주는 암(Arm) 데이터 기록은 디스크 트랙에 기록이 되는거임 (원 형태 = 트랙이라 부름) 하드디스크 데이터 기록할 때 : X번 실린더, X번 섹터로 이동하라 라는 명령을 내림 배드섹터(Bad Sector) - 오래된 하드에 경계선과 경계선 사이에 기록되는 데이터를잘 읽지못함 실린더 만약 .. 2022. 1. 17. 심볼릭링크 vs 하드링크 심볼릭링크 ln -s [대상원본파일] [새로만들파일] 경로만 적혀있는 파일이 새로만들어짐 ls -al 입력 했을 때 해당 폴더의 맨 앞이 'l' 로 시작되는 파일은 심볼릭 링크 파일내용에 있는 원본 파일의 이름에 해당하는 링크를 찾아줌 *원본을 지우면 링크는 살아는 있지만 접근이안됨 하드링크 ln [대상원본파일] [새로만들파일] ls 경로에 있는 파일명 하드링크파일(경로에있는 파일를 해당 이름으로 링크를 생성) ex) ls -l 쳤을때 -rwrwrwrw- 이거 다음에 바로 나오는 숫자가 하드링크의 숫자임 하드링크가 2면 한 파일에 2개의 다른 링크가 걸려잇는거임. (기본이 1개) 원본을 알 수 없음. -> 하드 링크는 원본 파일을 삭제 되어도 링크된 파일은 여전히 존재함 -> 심볼링 링크는 원본 파일 삭.. 2022. 1. 17. 리눅스 쓸만한 명령어 head -n 5 vi /var/log/messages ex ) messages 로그 파일에서 처음 5줄만 보여달라 tail -n 5 - 마지막 5줄만 보여달라 ps -ef : 리눅스에서 돌고있는 프로세스목록 용도 ) ps -ef | grep kill -> 해당 파일에서 kill이란 단어가 있는걸 찾아줘라. find = 디렉토리검색 용도 : find / -name backup -> 루트에서부터 backup 이름을 찾아라 wc -l = 몇 줄인지 세줌 wc -c = 글자수 세주는거 2022. 1. 17. 이전 1 2 3 4 다음 반응형