분류 전체보기(150)
-
2021 OWASP TOP 10 초안
https://owasp.org/Top10 OWASP Top 10 Introduction to OWASP Top 10 2021 Welcome to the latest installment of the OWASP Top 10! The OWASP Top 10 2021 is all-new, with a new graphic design and an available one-page infographic you can print or obtain from our home page. A huge thank you to every owasp.org OWASP 웹 해킹 TOP 10 2021년 초안이 공개되었습니다. 3년~4년 마다 갱신이 되고 있으며, 모의해킹 업무 할 때 기준이 되고 있는 항목입니다. SSRF ..
2021.09.09 -
c언어 spirntf 함수 printf sprintf 차이점
printf는 여러가지 서식들을 조합해서 출력을 해준다. 영어+숫자+헥사값 등등 포맷연산자에 포맷만 지정해주면 다양한 값을 한 번에 출력을 해준다. 근데 출력을 말고, 개발을 하다보면 이를 변수에다가 저장해서 활용하고 싶을 때가 있다. sprintf는 출력하는 결과 값을 변수에 저장하게 해주는 기능이 있다. string = printf의 줄임말이 sprintf라고 생각할 수 있다. printf가 출력하는 함수라면, sprintf는 출력값을 문자열에 저장하는 함수이다. 해당 함수로 인해 문자열 사이에 특정 값을 끼어넣는다든지, 문자열 + 숫자 조합을 쉽게 컨트롤 한다든지, 마스킹 처리와 같은 특정 포맷을 만든다든지 다양하게 활용할 수 있다.
2021.07.14 -
리눅스 컴파일, 빌드 차이, configure, make, makefile 개념 정의
컴파일 : 사용자가 작성한 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는 일 빌드 : 컴파일된 코드를 실제 실행할 수 있는 상태로 만드는 일 1. configure configure는 소스파일에 대한 환경설정을 해주는 명령어다.(configure뒤에 옵션을 넣음) 서버환경에 맞쳐 makefile을 생성해주는 과정이다. 소스를 사용할 컴퓨터와 사용자의 환경에 맞게 내 컴퓨터는 어떤 기종이고 컴파일에 필요한 시스템 파일들은 어디에 위치해 있으며, 어떤곳에 설치를 하겠다고 지정을 하는 것이다. 예) # ./configure --prefix = /usr/local/mysql 하게 되면 어떤 파일을 /usr/local/mysql 이라는 곳에 설치 하겠다는 뜻. 2. make make는 소스를 컴파일 하는 것이다..
2021.06.24 -
임베디드와 펌웨어의 차이점
임베디드 시스템이란 일반PC가 아닌 특수한 목적을 가진 가전제품을 구성하는 시스템이다. 임베디드 시스템에서 구현되는 소프트웨어를 '펌웨어'라고 한다.
2021.06.15 -
API란? API 정의 (application programming interface)
API는 Application Programming Interface의 약자입니다. 응용 프로그램 개발자들이 애플리케이션을 만들 때 운영체제에서 동작하는 프로그램을 쉽게 만들 수 있도록 화면 구 화면 구성이나 프로그램 동작에 필요한 각종 함수를 모아놓은 것을 말합니다. 즉 다른 개발자들이 이 프로그램을 응용해서 다른 프로그램을 만들려면 '최소한 이런 기능들은 필수로 들어가겠지.'라는 생각으로 미리 필요한 함수들을 만들어서 모아놓은 도서관과 같은 것이지요. C 언어로 프로그램을 작성하는 경우를 예로 들어 봅시다. C 언어 프로그램 함수 중에는 화면으로 데이터를 출력하는 기능을 가진 'printf()'라는 함수가 있습니다. 괄호 안에 문자나 변수를 입력하면 괄호 안의 내용을 화면에 나타내는 것이지요. 만일 ..
2021.06.10 -
C언어 공용체
공용체 선언은 구조체와 별반 다를게 없습니다. 하지만 초기화는 다르죠. 공용체 선언을 보시면 단 하나만 초기화를 하고 있습니다. 메모리를 공용하기 있기 때문에 공용체의 제일 첫번째 멤버변수 "age"만 초기화가 가능합니다. 그래서 "age"에 20을 할당하는 모습입니다. 붉은 네모를 보시면 유니온을 사용한 모습을 보실 수 있습니다. 구조체와 별반 다를 건 없습니다. 다만 출력 값을 보시면 "age"를 사용하다가 "grade"를 사용하면 "age"의 값은 사라짐을 볼 수 있습니다. 그 이유는 위에 설명했듯이 메모리를 공유하기 때문에 하나를 사용하면 하나는 데이터가 사라짐을 보실 수 있습니다. 메모리 공유의 내용만 빼면 대부분 구조체와 동일합니다.
2021.06.07