전체보기(151)
-
MongoDB / arrayFilters / 배열에서 다시 배열 조회
배열 안에서 다시 배열을 조회해야 할 때 arrayFilters를 사용할 수 있다. 여기서 amount를 수정하려 한다. [item] 은 변수로써 아래 'item._id' 에서 다시 사용될 수 있다. 똑같이 맞춘다.
2020.06.25 -
MongoDB-Docker 백업
몽고DB의 도커 컨테이너 백업 백업옵션 --db [DB 이름] --collection [컬렉션 이름] --out [내보낼 디렉토리 경로] --host [MongoDB 호스트] --port [MongoDB 포트] --username [MongoDB 사용자 ID] --password [MongoDB 사용자 PW] docker exec mongo sh -c 'mongodump --archive --gzip -v --username root --password mypassword' > backup-`date +%F_%R`.tar.gz mongo-docker-backup.sh 작성 #!/bin/sh docker exec mongo sh -c 'mongodump --archive --gzip --username r..
2020.06.25 -
Kali 2020.1 VMWare 배포
칼리리눅스 2020.1 버전 VMWare용 커스텀입니다. 모든 변경사항은 아래있습니다. 링크는 2곳에서 받으실 수 있습니다. Kali Rolling (2020.1) x64 Username: kali Password: kali ======================== = All of Custom Settings bellow ======================== 1. Asia/Seoul TimeZone 2. Add alias ll='ls -alF' 3. Firefox Add-on - Hackbar : see on development tools - Foxy proxy - Cookie Manager 4. Terminal - Transparency : 0% - Font Size : 12 5. Supp..
2020.06.25 -
MongoDB 해킹, 허니팟 구축, 침해사고 분석
MongoDB가 해킹당하다 MongoDB를 주로 사용하는데, 회사 개발 서버에 가끔 DB가 사라지는 마법(?)이 일어났다. 개발서버라서 신경안쓰다가 두어번 반복되자 로그를 찾아보았다. dropDatabase 명령어로 테이블을 무자비하게 날려버리며 HOW_TO_RECOVERY_BASE.README를 생성하였다. 공격자가 생성한 DB를 들어가보니 안들어가졌다. (사실 이때 root 계정으로 들어갔어야 했었던것 같은데...) 공격지ip주소가 러시아로 확인되었다. 페이스북 커뮤니티에 질의응답을 하였다. 댓글들은 mongodb 웹서버 어플리케이션에서 타고 들어온 것과 네트워크 통한 전파 등을 의심하는 분들이 많았다. 하지만 나는 외부저장소나 코딩실수로 인한 DB정보 노출보다는 취약점 또는 스캐너에 의한 침입이라고..
2020.06.25 -
HTTP2.0 Pipeline 패킷 분석
HTTP 2.0 이상에서 지원하는 Pipeline 패킷에 대한 질문을 보고 나도 궁금해서 빠르게 분석해보았다. Pipeline 패킷은 한번에 여러개의 요청을 Stream화하여 기다리지 않고 요청하여 응답받는다. 그림이 굉장히 설명 잘해준다. 궁금증의 요지는 7계층에서 구현된 HTTPS 패킷인데 어떻게 우측그림에서 각 요청을 서로 구분할 수 있는가? 이다. 여기 사이트에 설명이 잘되어 있어 HTTP2.0이 구현된 사이트로 테스트해볼까 했는데 왠일... 네이버에 들어갔는데 바로 HTTP2.0 패킷이 보였다. 처음 로딩할 때 GET요청으로 여러 그림파일들을 한번에 요청한다. 각 요청의 패킷은 다음과 같다 와이어샤크가 파싱을 잘 해준다. 각 TCP 요청의 포트는 역시나 같은 세션이며 첫번째 그림의 Seq (67..
2020.05.26 -
MITMProxy를 사용하여 웹사이트 변조하기
파이썬 모듈 MITMProxy를 이용하여 웹사이트의 요청과 응답값을 변조해봅시다. 실시간검색어를 변경, 이미지 바꿔치기, 웹사이트 뒤집기를 해봅시다. 본 영상은 클라이언트 자신을 테스트하는 것이기 때문에 불법이 아닙니다. 허가되지 않은 해킹은 범죄입니다. 기본 사용 스크립트 Execute by script mitmdump -p 8080 -s myplugin.py Change Query Example mitmdump -p 8080 --replacements :~q:love:hate 실시간 검색어 바꿔치기 from mitmproxy import http def response(flow: http.HTTPFlow) -> None: keyword = "수호".encode('utf-8') wkr_t..
2020.05.04