전체 글 (372) 썸네일형 리스트형 AbstractBaseUserModel 다루기 개요 Django Project를 처음 생성하고 migrate를 시켰을 때 사용자 모델을 입맛대로 조정할 수 있는 방법이 없나 생각하게 되었습니다. 예를 들어 "userid 대신 email이나 phone을 userid로 로그인을 하려면 어떻게 해야 될까" 였는데 결론적으로 사용자 모델을 커스텀하기 위해선 AbstractUser와 AbstractBaseUser가 있다는 내용을 알게 되었습니다. Django에서 제공하는 User Custom Model AbstractUser Model 이 Model을 상속받아 쓰게 되면 password, last_login, username, fist_name, last_name, email 등의 DB Column을 생성합니다. AbstractBaseUser Model 이 .. Django에 Unittest 적용해보기 HTML 삽입 미리보기할 수 없는 소스 Django test를 적용하는 게 맞을까? unit-test를 적용하는 게 맞을까? 개요 이번엔 django에 unittest를 적용해보고 적용하는 과정에서 알았던 내용들을 기록해보려고 한다. 그냥 Django Test를 적용하면 되지 않나? 맞다. Django에서는 Test를 위해 다음과 같은 라이브러리를 제공하고 있었다. from django.test import TestCase class SomthingTest(TestCase): ... 그러나 위와 같이 테스트를 진행하게 될 경우 Django 내부적으로 테스트를 위한 DB를 만들기 때문에 테스트해야 될 케이스가 많은 경우 Test 코드를 실행하고 완료하기까지의 시간이 오래 걸린다. 물론 기존에 사용하고 있는.. django.db.utils.ProgrammingError: (1146, "Table 'app.auth_user' doesn't exist") "app을 새로 생성하고 superuser를 만들려고 했습니다. mysql로 DB를 따로 생성하고 migration 하는 과정에서 제목과 같은 에러가 났습니다." example은 mysql에 생성한 데이터베이스 이름입니다. auth_user 테이블을 못 찾는 것 같다고 합니다. 구글을 통해 검색하면 아래와 같은 과정을 통해 해결이 가능하다고 나옵니다.(www.javaer101.com/en/article/18657080.html) python manage.py makemigrations python managet.py migrate app_name 제 경우엔 해결이 되진 않았습니다. 어쩌나 싶던 도중 app 밑에 migrations 폴더의 파일들을 모두 삭제하고 다시 진행하니 superuser를 다시 생성.. JPGChat : ServerSide Injection 문제를 풀다 기초적인데 어디선가 들었던 내용인 문제에 직면했습니다. 기억이 흐릿해서 다시 정리해보자는 취지에서 간략히 포스팅하기로 했습니다. 소스입니다. 사용자 입력 값이 [REPORT]이면 report_form() 함수가 실행됩니다. 그런데 report_form() 함수는 문제가 있어 보입니다. 아래의 소스를 봅시다. report_from()의 일부분인데 사용자 입력값을 그대로 받아들여 리눅스 명령어를 실행하는 os.system() 함수의 인자 중간에 연결해서 사용하고 있습니다. 마치 ServerSide Injection 으로 풀어낼 수 있을 것 같습니다. 이 경우에는 ';' 문자를 써서 명령어를 연결하여 Reverse Shell을 얻을 수 있습니다. 이 문제에서 요구하는 Root 플래그를 얻어봅시다... [Vulnhub] Money Box Vulnhub의 MoneyBox 리뷰입니다. Vulnhub에서 ova 파일을 다운로드해서 VirtualBox에 import 하게 되면 스캔을 해야 될 대상의 IP 정보가 알 수 없는 경우가 있습니다. 이때 다음과 같이 netdiscover를 써서 대상 IP를 알아낼 수 있습니다. (가상 머신의 네트워크 환경을 잘 인지하고 시도합시다) 여기서 192.168.200.146이 침투를 시도해볼 내부 IP로 판단됩니다. 스캔을 시도해봅시다. 스캔 단계에서 FTP 서버에 Anonymous 로그인이 허용되어있고 trytofind.jpg 파일이 보입니다. 해당 파일을 FTP 서버에 Anonymous로 로그인 한 다음 잘 저장해둡시다. 이제 HTTP를 대상으로 정보를 얻어봅시다. 힌트가 될 만한 점은 간단하니 과하게 생.. Stack with Python Stack 스택은 배열에 몇 가지 제약사항을 추가한 자료구조이다. 제약사항이란 다음과 같다. 스택의 끝에만 데이터를 삽입할 수 있다. 스택의 끝에만 데이터를 삭제할 수 있다. 스택의 마지막 원소만 읽을 수 있다. 즉 위 3가지 제약사항으로써 알 수 있는 건 Last In First Out이며 이 뜻은 먼저 들어간 놈이 맨 나중에 나오는 놈이다 라고 생각하면 됩니다. Stack은 ADT이며 이는 추상 데이터 타입을 뜻한다. 이 뜻은 개발자나 프로그래머에 의해서 정의되어서 사용된다라는 의미이다. 적어도 Python에서 Stack이라는 자료구조가 built-in 되어 있지 않은 것으로 생각할 수 있다. Definition python에서 stack을 정의할 때는 일반적으로 다음과 같이 정의한다. class S.. [Vulnhub] : y0usef Vulnhub의 "y0usef" 리뷰입니다. y0usef 접근을 시도하기 위해 스캔을 시도해봅시다. ssh, http 포트가 열려있습니다. 대부분의 경우 ssh는 anonymous 로그인을 허용하지 않고 다른 포인트에서 얻은 credential을 통해 로그인을 시도하므로 http부터 살펴보기로 가정하고 접속해봅시다. http로 접속했으나 특징적인 것은 보이지 않으니 다음으로 해야 될 것은 숨겨진 디렉토리를 찾아봅시다. Directory Brute Forcing을 도와주는 도구는 많이 있지만 gobuster를 사용했고 여러 사전파일(wordlist)를 삽질한 끝에 다음과 같은 결과를 얻을 수 있었습니다. 나머지 Status 값은 403인데 반해 administration이 301이니 administrati.. [Docker] Docker에 관련된 여러가지 삽질 Docker Install on Mac m1 docs.docker.com/docker-for-mac/apple-m1/ Apple M1 Tech Preview docs.docker.com dial unix docker.raw.sock: connect CLI를 통해 Docker 이미지를 이것저것 불러오려다가 에러가 났습니다. docker GUI를 이용해 로그인도 해보고 TroubleShoot> Reset to factory defaults를 통해 초기화를 시킨 후 다음과 같은 명령어를 입력하니 docker pull로 docker 이미지가 잘 불러와지는 걸 확인했습니다. $ docker run -it --rm -v /Users/username/rust-raspberrypi-OS-tutorials/01_wait.. 이전 1 ··· 35 36 37 38 39 40 41 ··· 47 다음