- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- 쉘 스크립트
- LEVIATHAN
- Linux
- 쉘 스크립트 if문
- GUI
- synology
- ACL
- nginx
- centos docker
- System
- Python
- RaspberryPi
- 그라파나
- 쉘 스크립트 기초
- 라즈베리파이
- docker
- 프로젝트
- 안드로이드
- 리눅스
- API
- GPIO
- Shell script
- Tkinter
- 클라우드
- 메소드
- JSP
- 네트워크
- 자바
- Java
- Today
- Total
목록IT (406)
IT창고
버퍼 오버플로우(Buffer OverFlow)에 대해 알아보겠습니다.버퍼오버플로우는 정상적인 접근이 불가능한 메모리 공간에 임의의 코드를 집어넣는 기법으로 1995년도에 처음 phrack사이트에서 Aleph One이란 저자명으로 smashing the stack for fun and profit이란 문서를 올려 최초공개 되었습니다. 버퍼오버플로우가 생기는 원인으로 보안에 취약한 함수(scanf, gets, strcpy, ....)를 사용하는 경우입니다. 시스템 취약점의 거의 대부분은 버퍼오버플로우 취약점을 가지고 있습니다. strcpy함수를 사용한 C언어 프로그램입니다. Hello! 인자를 넣어 보면 정상적인 출력이 됨을 확인할수있습니다. 하지만 만약 해당 인자에 메모리 크기를 넘어서는 값이 온다면 어떻..
안녕하세요! 저의 블로그에 온걸 환영합니다. 2018년 1월달에 받은 초대장 9개를 나눔하려합니다. 저는 정말 필요하다 싶은 분에게 드립니다! 선착순이 아니에요. 1. 블로그 개설목적 및 주제, 방향 등 초대장을 꼭 받아야하는 이유!2. 현재 운영하고 있는 블로그가 있나요?3. 꾸준하게 블로그활동을 할수있나요?4. 초대장 받을 이메일 주소를 써주세요5. 영국의 수도는 어디인가요? 꼭 비밀댓글로 위의 내용을 포함해서 남겨주세요. 확인하고 정말 필요하다 싶은 분에게 드리겠습니다.
JSP를 하면서 JSP만을 이용할 경우 동일한 로직을 수행하는 코드가 중복될 가능성이 있습니다. 작업을 하며 기능을 수정하면 동일로직들 모두 수정해야하는데 이런 중복 수정을 방지하기 위해서 클래스를 사용합니다. 클래스를 사용해서 중복을 제거하고 중복된 코드를 한곳으로 분리해줍니다. JSP파일은 클라이언트에게 보여줄 화면을 만들고 실제 로직을 수행할 클래스를 따로 만들어서 작업을 합니다. DAO클래스에서 DB와 관련된 CRUD 작업을 처리합니다.Service 클래스는 사용자의 요청을 처리하는 기능을 만듭니다. Service클래스에서 DAO클래스를 통해 DB를 연동하며 작업을 처리합니다.JSP(뷰)는 Service 클래스가 실행한 결과를 화면에 출력해 주거나 Service가 기능을 수행하는데 필요한 데이터를..
이클립스와 마리아DB가 서로 연동되어져있다면 다른 프로젝트를 만들어 DB를 활용해보겠습니다. 먼저 새로운 프로젝트에서 lib폴더에 mariadb-java-client-2.2.1.jar 파일 즉 드라이버가 있어야합니다.없다면 드라이버를 넣어줍니다.우선 만들어져있는 DB를 연결하겠습니다. JSP에서 DB를 사용하기위해서는 try,catch문을 꼭 사용해야만 합니다.DB를 연결하는 방법은 여러가지가 있지만 위와 같은 방법이 가장 정석이지만 가장 작업효율이 떨어집니다. 이번에는 정적클래스를 만들어 DB를 연결시켜보겠습니다.따로 클래스를 만들어 static으로 메소드를 만듭니다. 중요한건 꼭 마지막에 닫아주어야만합니다. 닫아주지 않을 경우 DB의 사용량이 많아져서 나중에는 오류가 납니다. 중간에 주석줄안에 있는곳..
리눅스의 디버거에 대해 알아보겠습니다. 사용하게 될 디버거는 GDB라는 디버거로 GNU 소프트웨어를 위한 기본적인 디버거 입니다.디버거의 이름 유례는 최초의 오류가 있을때 회로에 벌레(bug)가 있어 오류가 일어난 일을 기록하여 bug는 프로그램에 존재하는 잠재적인 오류를 뜻하게 되었습니다. de-hugging은 버그를 찾는 행위를 말하며 디버거(de-bugger)는 버그를 찾는 행위를 도와주는 도구를 말하게 되었습니다. 에러는 여러종류의 에러가 있습니다. 그 중에 런타임 에러는 정말 찾기 힘든데 디버거는 이러한 찾기 힘든 에러를 찾을수있도록 도와주는 도구입니다. Tip- GDB 디버거로 프로세스를 실행하면 프로세스 권한을 디버거가 같게 됩니다. - GDB말고 IDA, ollydbg 등의 디버거 종류도 ..
C표준에서 정의되는 main함수는 딱 두 가지로 아래와 같습니다.- int main();- int main( int argc, char *argc[] ) 이 두개가 표준 원형이며 void main(void)같은건 실제 컴파일이 되며 어셈블리어로 변형될때 int main으로 바뀝니다.또한 main 함수를 사용할때 인자를 생략해도 int argc, char *argc[] 인자는 존재합니다. 배열 포인터: 배열을 가르키는 포이터포인터 배열: 주소가 들어있는 배열 |주소 | 주소| ....| null | = *argv[] C언어 인자가 없는 경우에 대해 알아보겠습니다.인자를 입력하지 않아도 하나의 인자는 들어가 있음을 확인할수있습니다. 그리고 인자를 개수를 추가할때마다 출력값이 늘어남을 확인할수있습니다. 이번에..
메모리의 구조를 살펴보기 위하여 간단한 출력프로그램을 만들어보겠습니다. 출력을하고 sleep명령어를 사용한 프로그램입니다. 백드라운드로 전환하고 이 프로그램이 실행되는지 프로세스를 확인합니다. 실제로 방금 실행한 프로그램이 있는데 여기에 PID를 확인합니다. proc디렉토리는 가상디렉토리로 리눅스에서는 실행프로세스도 모두 실행파일의 형태로 존재를 합니다. 여기서 방금 실행한 프로그램의 PID는 851인데 /proc/851 디렉토리에 들어가면 파일들이 보입니다. 그중 maps파일은 프로세스에서 사용중인 메모리의 정보를 가지고 있습니다! 이 파일에서 메모리의 정보를 확인할수있으며 커널메모리의 정보도 포함합니다. 08048000-08049000 r-xp 00000000 03:01 980584 /testgsk/..
오늘은 마리아DB에 대해 알아보겠습니다.마리아DB는 오픈소스 DBMS로 MySQL를 만든 개발한 분이 설계한 DBMS입니다. 그렇기에 MySQL과 호완도가 매우 높습니다. https://mariadb.com/ 마리아 사이트에서 .msi파일을 다운받아 마리아DB를 설치합니다. 설치가 완료되었다면 CMD창을 열고 DB에 접속해봅니다. CMD를 이용하여 관리해도 되지만 좀 더 편하게 해보겠습니다. 마리아DB를 설치하면 HeidiSQL이라는 DB관리툴이 하나있습니다. 실행하고 신규를 클릭하여 root계정을 만들고 접속합니다. 저는 JSP에 사용할 데이터베이스를 하나만들었습니다. 이제 계정을 따로 만들겠습니다. 언제나 DB작업을 하면 root계정으로 작업하는걸 비추천합니다. root의 권한이 크기때문에 실수로 데..
JSP의 액션태그를 알아보기 전에 기본객체의 영역에 대해 알아보겠습니다. 기본객체에는 4개의 영역으로 나눌수있습니다.- Page 영역 : 하나의 JSP 페이지를 처리할떄 사용되는 영역입니다.- Request 영역 : 하나의 HTTP 요청을 처리할 떄 사용되는 영역입니다.- Session 영역 : 하나의 웹 브라우저와 관련된 영역입니다.- Application 영역 : 하나의 웹 어플리케이션과 관련된 영역입니다. 자원 접근 메소드들을 알아보겠습니다.위와 같이 URL과 inputstream방식으로 파일을 가져올수있습니다. URL이나 inputstream방식 말고 web.xml에서 변수를 가져오는 방법도 있습니다.xml에서 변수를 설정해둡니다. xml에 설정해둔 변수를 .jsp파일에서 작성해서 확인할수있습니다..
어셈블리어의 반복문(for, while, do_while)에 대해 알아보겠습니다. 어셈블리어에서 분기문과 반복문의 차이는 jmp명령어를 사용해서 반복시켜주는가 아닌가로 나눠집니다. 분기문과 반복문의 차이가 거의 없습니다. 어셈블리어에서 증감명령어가 있는데 inc, dec 명령어가 있습니다.inc 명령어는 메모리나 레지스터 값을 1씩 증가 시킵니다.dec 명령어는 메모리나 레지스터 값을 1씩 감소 시킵니다. 먼저 간단한 반복문을 만들어보겠습니다.C언어로 만든 소스입니다.10값에서 1씩 감소하는 프로그램입니다. 이와 같은 기능을 가진 어셈블리어를 만들어보겠습니다. 반복문과 분기문의 차이는 코드가 반복되는가 아닌가의 차이입니다. 무한루프에 빠지지않도록 조건 분기를 꼭 주어야 합니다. C언어로 for문을 확인하..