본문으로 바로가기

해커스쿨.Section 6

category Study/system 2017. 11. 2. 18:52


Section 6


gets() 함수 이해하기




section 5 에서 마지막으로 했던 질의에 대해 좀더 알아보는 과정이다


gets()는 키보드로부터 문자열을 입력 받아 버퍼에 저장하는 함수이다

이때 이 함수는 주소를 파라미터로 받아 Call by reference 방식으로 입력을 받는다

즉, 엔터를 입력받은 곳까지 시작주소부터 채워나가는 것이다


이는 버퍼오버플로우를 발생시키는 취약점을 발생시키게 한다.


이렇듯 gets()가 프로그램에 큰 취약점을 야기할 수 있기 때문에

gcc에서 컴파일시 아래와 같은 경고문이 뜨게된다.


'Study > system' 카테고리의 다른 글

해커스쿨.Section 8  (0) 2017.11.02
해커스쿨.Section 7  (0) 2017.11.02
해커스쿨.Section 5  (0) 2017.11.02
해커스쿨.Section 4  (0) 2017.11.02
해커스쿨.Section 3  (0) 2017.10.17