네트워크 보안

    [HTB/Crypto] Weak RSA

    flag.enc를 decrypt하고 flag를 획득하는 문제 1. Weak_RSA.zip 파일 정적분석 ┌──(root💀kali)-[/backup/workspace/htb/crypto] └─# file Weak_RSA.zip 80 ⨯ Weak_RSA.zip: Zip archive data, at least v2.0 to extract, compression method=deflate ┌──(root💀kali)-[/backup/workspace/htb/crypto] └─# unzip Weak_RSA.zip Archive: Weak_RSA.zip [Weak_RSA.zip] flag.enc password: inflating: flag.enc inflating: key.pub ┌──(root💀kali)-[/b..

    Scalable Network Programming

    네트워크 프로그래밍에서 Scalable 하게 만드는 것은 중요한 주제이다. 네트워크 서버는 동시에 여러 클라이언트 요청을 처리할 수 있어야 하며, 이는 서버의 확장성과 성능에 영향을 준다. 아래 코드는 간단한 서버-클라이언트 구조의 프로그램이다. 1. TCP 소켓을 사용하여 HTTP GET 요청을 보내는 간단한 클라이언트 코드 Error handling 없이 구현 HTTP 헤더를 포함하여 최대 4k까지만 가져올 수 있음. char buf[4096]; int len; int fd=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP); struct sockaddr_in si; si.sin_family=PF_INET; inet_aton("127.0.0.1",&si.sin_addr); si.s..

    [Python/ MQTT] MQTT – Pub/Sub 모델 구현

    [Python/ MQTT] MQTT – Pub/Sub 모델 구현

    MQTT란 MQTT는 M2M, IOT를 위한 프로토콜로서 최소한의 전력과 패킷량으로 통신하는 프로토콜MQTT는 HTTP, TCP 등의 통신과 같이 클라이언트-서버 구조로 이루어진 것이 아닌 Broker, Publisher, Subscriber 구조로 이루어져있다. MQTT 특징ClientMQTT의 broker에 연결된 모든 것을 말한다.BrokerBroker는 모든 메세지를 수신, 필터링, 메세지 구독하는 사람을 결정, 클라이언트에게 메세지를 보내는 역할Subscribetopic을 구독하여 topic으로 publish된 메세지를 받는다.TopicMQTT의 topic은 슬래시(/)를 분리 문자로 사용하여 폴더 및 파일과 유사한 계층 구조를 가진다. ex) /api/update/승주/비밀번호QoS(Quali..

    [Django] Jump to Django (02/admin)

    [Django] Jump to Django (02/admin)

    Super User 장고 admin을 사용하기 위해서는 장고 admin 화면에 접속할 수 있는 슈퍼유저를 먼저 생성해야 한다. ~/baby-django$ python manage.py createsuperuser 사용자 이름 (leave blank to use 'runner'): admin 이메일 주소: admin@mysite.com Password: Password (again): Superuser created successfully. 그런 다음 /admin에서 생성한 id pw로 로그인하면 관리자 화면에 접근할 수 있게 된다. Model 관리 from django.contrib import admin from .models import Question admin.site.register(Questi..

    [Django] Jump to Django (01/앱 생성+DB 생성)

    [Django] Jump to Django (01/앱 생성+DB 생성)

    App 생성 앞에서 만든 mysite 프로젝트에서 기능을 추가하기 위해서는 앱을 생성해야한다. 게시판 기능을 담당할 앱을 생성하자. django-admin의 startapp 명령어로 app을 생성 할 수 있다. django-admin startapp 명령을 실행하면 pybo 디렉토리가 생성된걸 확인할 수 있다. 하지만 /pybo 페이지를 요청했을 때는 404 에러가 발생한다. 오류의 내용은 config.urls에 매핑이 없다고 적혀 있다. Hello Pybo config/urls.py 파일을 다음과 같이 수정하자. from django.contrib import admin from django.urls import path from pybo import views urlpatterns = [ path('..

    [Django] Jump to Django (00/프로젝트 생성)

    [Django] Jump to Django (00/프로젝트 생성)

    Django는 Python의 오픈 소스 웹 프레임워크이자 풀 스택 프레임워크이다. 일반적으로 파이썬을 웹 서비스에 쓴다고 하면 Django 또는 Flask를 쓴다고 생각하면 된다. 둘의 차이는 풀 스택 프레임워크(Django)냐 아니냐 정도. 🚀Django 개발환경 세팅 mkdir venvs # 가상환경 루트 디렉토리 만들기 cd venvs python -m venv mysite # 파이썬 가상환경 만들기 cd mysite/Scripts activate # 가상환경 진입 pip install django==4.0.3 # 장고 설치 python -m pip install --upgrade pip # 에러 날 시 pip upgrade Django project 생성하기 cd / mkdir projects c..

    [Python] 🐍python 환경세팅

    [Python] 🐍python 환경세팅

    1. Pycharm 설치 2. Anaconda 설치 아나콘다는 통합패키지로 파이썬을 포함해서 많은 모듈을 포함하고 있다. Jupyter Nodebook, Spyder, IPython같은 개발 환경과 pandas, NumPy 같은 파이썬 라이브러리가 함께 설치된다. 아나콘다의 특징은 다음과 같다. 7500개 이상의 파이썬 용 패키지를 다운로드할 수 있음 conda 환경에서 라이브러리, 디펜던시 관리 scikit-learn, TensorFlow, Theano로 머신러닝, 딥러닝 개발 Dask, Numpy, pandas, Numba로 데이터 분석 Matplotlib, Bokeh, Datashader, Holoviews로 시각화 아나콘다는 다음과 같이 표현할 수 있다. anaconda = python + con..

    [Web] webhacking.kr 3번

    [Web] webhacking.kr 3번

    스도쿠문제가 나오고 solve 버튼을 발견할 수 있었다. solve 버튼을 누르니 위와 같은 쿼리를 넘기고 No!라는 문구가 있는 페이지로 갔다가 다시 문제 페이지로 리다이렉트 되었다. 스도쿠를 간단하게 풀어보았다. 아래줄은 5이기때문에 다 체크하고 나니 쉽게 풀렸다. 풀고나니 위와 같은 화면이 나왔고 test를 입력하니 아래와 같은 화면이 나왔다. hidden 값을 ' or 1=1-- 로 변경한 후 sql injection을 시도해보았다. 조금 다른 결과가 나왔다. References webhacking.kr

    [Web] webhacking.kr 1번

    [Web] webhacking.kr 1번

    view source 쿠키값이 3과 4사이의 숫자면 solve(1)가 트리거되는 것 같다. 쿠키값을 3.5로 변경하고 문제에 재접속하니 Pwned!라는 문구를 볼 수 있었고 문제가 풀렸다. References webhacking.kr