분류 전체보기

· 웹 개발
프롤로그 JWT 코드 관련해서 뭔가 이상함을 느끼고 계속해서 코드를 수정하고 있다. 2024.01.31 - [웹 개발] - [장고] 장고로 JWT 사용하기 #3 처음 공부하는 부분이고 이것저것 잘못된 정보를 배워와서 그런 가 잘못된 정보를 많이 넣어놨기에.. .코드만 수정하겠다. userid, 이름, 이메일, 닉네임, 유저타입, 그 유저타입에 따른 정보들이 토큰에 추가가 될 것이다. serializers.py from rest_framework_simplejwt.serializers import TokenObtainPairSerializer from django.contrib.auth import get_user_model User = get_user_model() class CustomTokenObta..
프롤로그 비밀번호 중간중간마다 까먹을 수 있으니, 각 풀이과정과 비밀번호 정리해두는 글 Level0 -> Level1 비밀번호 : NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL 2024.02.04 - [보안 스터디/bandit] - [워게임] bandit level0 -> level1 문제 풀이 [워게임] bandit level0 -> level1 문제 풀이 프롤로그 웹 해킹으로는 취직을 할 수 없을 거 같다라는 생각에..그리고 리눅스 관련해서 실력이 늘고 싶은 마음에 이것저것 도전해본다. 일단 bandit 부터 문제풀어보겠다. 사전 준비 우선 bandit taesan-smj.tistory.com Level1 -> Level2 비밀번호 : rRGizSaX8Mk1RTb1CNQoXTcYZWU6l..
프롤로그 웹 해킹으로는 취직을 할 수 없을 거 같다라는 생각에..그리고 리눅스 관련해서 실력이 늘고 싶은 마음에 이것저것 도전해본다. 일단 bandit 부터 문제풀어보겠다. 사전 준비 우선 bandit 문제를 위한 세팅이 필요하다. sudo apt-get install openssh-server 이걸 리눅스 계열 터미널에다가 입력하여 주자. 본인은 wsl을 VS CODE에다가 적용시켰다. 설치가 완료되었다. 그 다음 sudo apt-get install ssh 로 ssh를 설치하자 그다음 vim 을 설치한다. sudo apt-get install vim bandit 은 포트번호가 2220이다. https://overthewire.org/wargames/bandit/bandit0.html OverTheWi..
· 웹 개발
프롤로그 일단은...로그인 기능들과 JWT를 한 번에 하려고 했는데 양이 매우 많을 것으로 판단되어 양산형 글 처럼 작성할 거 같다. JWT사용법과 개념들에 대해서 알아보자. 장고에 JWT 설치하기 pip install djangorestframework djangorestframework-simplejwt 가상환경에서 해당 명령어를 작성한다. simple jwt 라는 것을 설치하는 것이다 설치가 잘 되었다. 그 후에, 장고 작업하는 곳의 settings.py 에서 설정에 추가하자 INSTALLED_APPS = [ ... "rest_framework", ... ] INSTALLED_APPS 부분에 하나 추가하고 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES':..
· 웹 개발
프롤로그 장고 책 2권을 보면서 페이지 만드는 작업을 하였었는데, API라든지, JSON 형식이라든지 이런 기능을 설명해주는 책은 없었고, 스스로 알아내가야했다. 그리고...이 작업에 관련된 자료들이 진짜 매우매우 없다;; 그래서 일단 내가 따로 찾아보면서 공부한 내용들을 정리해보고자 한다. 살짝 개념 정리 몇 개를 해보자면 DRF Django Rest Framework 의 약자로, Django를 위한 강력하고 유연한 웹 API 구축을 위한 오픈소스 프레임 워크이다. DRF는 직렬화(Serialization) , 인증(Authentication) 및 권한(Permission), 브라우저블 API, ORM및 비ORM 데이터 소스 지원, 클래스 기반 뷰의 특징을 가지고 있다. 직렬화의 경우, 파이썬 데이터 ..
· 웹 개발
프롤로그 일단 PoM서비스에서 내가 맡은 역할은 로그인/회원가입 기능이다. 그래서 프론트엔드와도 작업해야하니까, 일단 회원가입 할 때 모델링 부터 진행하겠다. 회원가입 모델링 일단 이렇게 각각 테이블을 생성해두고 ALTER TABLE individual ADD FOREIGN KEY (idx) REFERENCES user (idx) ALTER TABLE enterprise ADD FOREIGN KEY (idx) REFERENCES user (idx) 로 기본키외래키 참조 연결해주면 위와 같이 연결이 된 것을 확인할 수 있다. 그냥 다이어그램만 작성한 것이지, 데이터베이스 MySQL이랑은 일단은 관계없다. 나중에 연결할때면 필요할 수도 있으나, 데이터베이스는 나도 이제 막 기초 배우기 시작한 데린이기에.....
프롤로그 코드같은 거 짤 때, 우리는 그냥 코딩 습관에 길들여져 있어서 일단 코딩하기 시작한다. 그러다보면 코드가 어느순간 꼬이기 시작하면 아까워서 못지우고 계속 수정하고 버티다가 밤을 새고, 체력이 망가지고 패가망신하게 된다. 결국 갈아엎게 되느니만 못하다. 이것을 해결하기 위해 소프트웨어 개발 방법론이 나타났는데, 이를 소프트웨어 공학이라고 부르게 된다. 소프트웨어 공학에서 제시하는 소프트웨어 개발 모델은 많지만 가장 오래되고 전통적으로 사용되는 것은 폭포수 모델(waterfall model)이다. 프로젝트 계획 -> 업무 분석 -> 시스템 설계 -> 프로그램 구현 -> 테스트 -> 유지보수 순으로 폭포가 떨어지듯이 각 단계가 끝나면 다음 단계로 진행하는 과정이다. 각 단계가 명확히 구분되어서 프로젝..
프롤로그 빠르게 파이썬과 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..
성밍쟁
'분류 전체보기' 카테고리의 글 목록 (2 Page)