프롤로그 빠르게 파이썬과 MySQL 연동해야할 일이 생겨서 서둘러서 진도 나가야겠다. 백업과 복원 데이터베이스 관리 측면에서 가장 중요한 주제 중 하나. 현재의 데이터베이스를 다른 매체에 보관하는 작업을 말하며 복원은 데이터베이스에 문제가 발생했을 때 다른 매체에 백업된 데이터를 이용해서 원 상태로 돌려 놓는 작업 실습 일단 DB백업이라는 폴더를 만들어서 이를 다른 디스크라고 가정하자. workbench에서 USE ShopDB; SELECT * FROM productTBL; 를 입력해보면 기존에 작업하던 거 데이터들이 있다. 이제 백업부터 해보자. (1) 백업 왼쪽 Navigator -> Administration 을 누르면 MANAGEMENT 부분에 Data Export 부분이 있고 여기서 내가 내보내..
분류 전체보기
프롤로그 되게 오랫동안 버려두었던...시스템 호출... 어려운 것도 있고...레지스터도 뒤지게 많고...이참에 한 번에 정리하고 제대로 해보자. 문제 https://dreamhack.io/wargame/challenges/410 shell_basic Description 입력한 셸코드를 실행하는 프로그램이 서비스로 등록되어 작동하고 있습니다. main 함수가 아닌 다른 함수들은 execve, execveat 시스템 콜을 사용하지 못하도록 하며, 풀이와 관련이 없는 dreamhack.io 사전 정보 syscall : 운영체제의 커널이 제공하는 서비스에 대한 프로그램의 요청을 말한다. open : 파일을 열거나 생성하기 위한 시스템 호출이다. 파일을 열 때 필요한 정보를 지정하고, 파일이 성공적으로 열리면 ..
프롤로그 session-basic 이라는 문제가 있었는데, 이것은 그거와는 조금 다른 문제이다. 문제 https://dreamhack.io/wargame/challenges/266 session 쿠키와 세션으로 인증 상태를 관리하는 간단한 로그인 서비스입니다. admin 계정으로 로그인에 성공하면 플래그를 획득할 수 있습니다. Reference Background: Cookie & Session dreamhack.io 문제코드 #!/usr/bin/python3 from flask import Flask, request, render_template, make_response, redirect, url_for app = Flask(__name__) try: FLAG = open('./flag.txt', '..
프롤로그 1주일간, 무선통신과 AES 암호학에 대해서 되게 심도있게 공부하고, 그것으로 발표자료를 준비하느라 좀 블로그에 신경을 못 썼다. 오늘 일단 발표자료는 다 완성이 되어서 이제 웹 해킹 마저 공부했던 거 계속 문제를 풀어보자. 문제 문제 코드 PHPreg Step 1 Step 2
프롤로그 데이터베이스 개체의 활용 드디어 마지막 파트이다. 트리커 테이블에 부착되어서 테이블에 INSERT나 UPDATE 또는 DELETE 작업이 발생되면 실행되는 코드를 말한다. 나중에 다시 나온다. X라는 사람이 회원탈퇴를 하였을 때 이게 누구누구인지 정보를 어떻게 알 수 잇을까? 이미 데이터베이스에서 행 데이터가 삭제되었는데 말이다. 이때 행 데이터를 삭제하기 전에 그 내용을 다른 곳에 먼저 복사해 놓으면 된다. 이걸 수작업으로 하지 않고 다른 곳에 자동으로 저장해주는 기능이 트리거이다. 실습 (1) SQL 데이터 생성, 수정, 삭제 확인 INSERT INTO memberTBL VALUES ('Figure', '연아', '경기도 군포시 당정동'); 로 생성을 하고 SELECT * FROM membe..
프롤로그 Stored Procedure 스토어드 프로시저...이름 길다 스토어드 프로시저 스토어드 프로시저란 MySQL에서 제공해주는 프로그래밍 기능을 말한다. 즉 SQL 문을 하나로 묶어서 편리하게 사용하는 기능이다. 실무에서 SQL문(주로 SELECT)을 매번 하나하나 수행하기 보다는 스토어드 프로시저로 만들어 놓은 후에 스토어드 프로시저를 호출하는 방식을 많이 사용한다. 실습 매번 회원 테이블 "당탕이"의 정보와 제품 테이블의 " 냉장고"의 정보를 동시에 조회한다고 가정하자 shopdb인지 확인하자 매번 조회를 해야한다면 SELECT * FROM memberTBL WHERE memberName = "당탕이"; SELECT * FROM productTBL WHERE productNAME = "냉장고"..
프롤로그 인덱스, 뷰, 스토어드 프로시저, 트리거 이렇게 4개를 각각의 글로 생성하면 양산형 글이 될 거 같아서 하기는 싫은데, 아예 나도 처음 배우는 개념이고 따로 적어서 따로 정리한 거 보는 게 나을 거 같아서 그냥 ...해야지..뭐; 뷰(View) 뷰란 가상의 테이블이다. 사용자 입장에서는 테이블과 동일하게 보이지만 뷰는 실제 행 데이터를 가지고 있지 않다. 그 실체는 없는 것이며, 진짜 테이블에 링크된 개념이다. 그래서 뷰를 SELECt 하면 결국 진짜 테이블의 데이터를 조회하는 것과 같다. 우리가 기존에 생성했던 회원테이블에서 아르바이트 같은 사람에게 회원 전체 정보를 보여줄 수 없으니 아이디와 주소만 보여주기 위해 뷰를 사용하는 것이다. 그래서 개인정보등 중요한 정보는 이 사람이 볼 수 없다...
프롤로그 데이터 베이스 안에 테이블만 표현하고 저번 글 2024.01.17 - [데이터베이스] - [데이터베이스] 데이터베이스 구축 절차 #3 [데이터베이스] 데이터베이스 구축 절차 #3 프롤로그 아 할 거 너무 많은데....큰일났다;; 정보 시스템 구축 절차 분석->설계->구현->시험->유지보수 분석 : 구현하고자 하는 프로젝트의 가장 첫 단계. 시스템 분석 또는 요구사항 분석. "what" taesan-smj.tistory.com 에서도 테이블 생성하고 데이터를 넣는 과정을 배웠다. 이게 기본적이고 중요하긴 하지만 테이블만 가지고 실무에서 데이터베이스를 운영하지 않는다. 다른 데이터베이스 개체로는 인덱스, 스토어드 프로시저, 트리거, 함수, 트리거 커서 등이 있지만 이번엔 인덱스만 알아보자. 인덱스 ..
프롤로그 자 지금까지 2024.01.17 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #4 (대칭키 암호, Symmetric-key Cryptography) [암호학] 암호화 해킹 #4 (대칭키 암호, Symmetric-key Cryptography) 프롤로그 이제 암호학 본격적으로 들어가보자 대칭키 암호 대칭키 암호란 암호화에 사용되는 암호키와 복호화에 사용되는 암호키가 동일한 암호화 기법을 말한다. 대칭키 암호 방식으로 암호 taesan-smj.tistory.com 대칭키 암호에 대해서 배우고, 블록 암호화 스트림 암호를 대해서 배웠다. 스트림 암호인 ARC4를 구현했었다. 2024.01.18 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #7 (스트림 암호와 ARC4) [암호학] 암..
프롤로그 파이썬에서 암호화된 내용을 파일로 저장을 하고, 해당 파일을 매트랩에서 불러오려고 했는데, 인코딩 디코딩에서 문제가 생기는지 계속 이상한 특수 문자가 생겨서 저번 글이랑 아예 차이가 없을 거 같다. AES(Rijndael 알고리즘) AES(Advanced Encryption Standard)는 DES를 대체하기 위해 2001년 미국 표준 기술 연구소(NIST)에서 제정한 새로운 암호 표준이다. SPN 블록 구조를 사용하는데, 키는 128비트, 192비트, 256비트를 지원하며 암호 블록 크기는 128비트 이다. AES 알고리즘에 대한 공격 방법은 다양하게 알려져 있으나 아직까지 AES로 암호화된 정보가 완전히 해독된 사례가 없기 때문에 안전성이 보장된 알고리즘이라고 할 수 있다. SPN 구조 (..
프롤로그 대칭키 암호 - 스트림 구조 - 블록 구조 - 파이스텔 방식 - SPN 구조에서 파이스텔 방식에서 2024.01.18 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #5 (3DES 및 구현) [암호학] 암호화 해킹 #5 (3DES 및 구현) 프롤로그 아 좀 빡센데 3DES DES(Data Encryption Standard 는 1970년대 IBM에서 파이스텔 블록구조에 기반하여 설계뙤고 개발된 56비트 암호화 알고리즘으로써 되게 인기있었지만 56비트라는 작은 암호키로 taesan-smj.tistory.com DES 방식을 직접 구현해보았고 SPN 방식에서 2024.01.18 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #6 (AES 및 구현) [암호학] 암호화 해킹 #6 (AES..
프롤로그 2024.01.17 - [보안 스터디/암호학] - [암호학] 암호화 해킹 #4 (대칭키 암호, Symmetric-key Cryptography) [암호학] 암호화 해킹 #4 (대칭키 암호, Symmetric-key Cryptography) 프롤로그 이제 암호학 본격적으로 들어가보자 대칭키 암호 대칭키 암호란 암호화에 사용되는 암호키와 복호화에 사용되는 암호키가 동일한 암호화 기법을 말한다. 대칭키 암호 방식으로 암호 taesan-smj.tistory.com 이 글을 복습해보자면, 대칭키 암호란 암호화에 사용되는 암호키와 복호화에 사용되는 암호키가 서로 동일한 암호화 기법이라고 하였다. 이 대칭키 암호화 방식은 데이터를 변환하는 방식에 따라 블록암호화 스트림 암호로 구분된다. 이때, 지금 우리는 ..