본문 바로가기

분류 전체보기

(154)
Blind OS Command Injection OS Command Injection의 한 종류로 시스템 명령의 수행 결과 값을 알 수 없을 때 사용하는 방법이다.command injection성공후 리턴값을 볼수없기에 다른 방식으로 공격자에게 응답을 오도록 한다. 1.ping을 이용한 방법ping -c 5 xxx.xxx.xxx.xxx : 대상 IP에 icmp 메세지를 5번 요청하는 명령어다음처럼 command에 넣으면 대상ip를 나의 서버로 해두면 명령어가 잘먹혔을때 로그가 찍힐것이다. 다중명령어 사용법 등 링크참조---------------틈새시장------------------이사람 정말 설명을 잘해뒀다.https://bpsecblog.wordpress.com/2016/10/05/command_injection_02/ 엄마보고싶다(2) – Com..
SSRF localhost, 127.0.0.1 bypass http://vcap.me:1530http://0x7f.0x00.0x00.0x01:1530http://0x7f000001:1530http://2130706433:1530http://Localhost:1530고수가 우회하는법 http://127.0.0.1http://0.0.0.0http://localhosthttp://[::]http://0000::1http://spoofed.burpcollaborator.nethttp://localtest.mehttp://localhost.hahwul.comhttp://127.127.127.127http://127.0.1.3http://127.0.0.0http://0/http://127.1http://127.0.1http://2130706433http://0177.0.0..
MongoDB_Injection 안쓰면 항상 까먹기때문에 정리해둔다. 비교연산 이용 $eq지정된 값과 같은 값을 찾습니다. (equal)$gt지정된 값보다 큰 값을 찾습니다. (greater than)$gte지정된 값보다 크거나 같은 값을 찾습니다. (greater than equal)$in배열 안의 값들과 일치하는 값을 찾습니다. (in)$lt지정된 값보다 작은 값을 찾습니다. (less than)$lte지정된 값보다 작거나 같은 값을 찾습니다. (less than equal)$ne지정된 값과 같지 않은 값을 찾습니다. (not equal)$nin배열 안의 값들과 일치하지 않는 값을 찾습니다. (not in){"id": {"$ne":""}, "pw": {"$ne":""}}​ 다음처럼 $ne와 같은 비교연산자를 통해 모든결과를 출력가능..
ubuntu 21.04 wired connection 사라졌을때 네트워크 연결 자체가 안되어 ens33이더넷은 ifconfig -a옵션을 해야 겨우보이고 ip조차 할당되어있지 않았다. /etc/netplan/yml파일도 수정해보고 이것저것 해봤지만 안됐고 sudo nmcli networking off sudo nmcli networking on 다음 명령어를 입력해주니 기가막히게 wired connection이 생기면서 연결이 됐다.
Flask+restful+SQLAlchemy+flask_jwt_extended공부 외주를 시작하기전 Flask+restx를 공부했는데 시작하니 Flask+restful로 구현을 해야 했고 많은 공부를 했던것 같다. 천재 리승형 동무의 설계덕분에 구조부터 완벽하다. flask를 구동할 main.py를 기준으로 같은 폴더내에 readme, requirements.txt가 있어서 개발을 하기전 readme를 보거나 requirements.txt로 pip install을 진행해 모두 같은 환경을 구축하기 쉽게 만들었다. 이제 하위 폴더로 api문서를 만드는 docs폴더, 실제 소스코드 구현인 폴더가 있고 docx에서는 각 클래스 별로 폴더를 만들고 각각의 get, post, put, delete인 .yml문서를 만들어준다. post.yml문서를 대충 적어보면 어떤기능인지 기술 --- tags..
github 사용법 정리-fork후 협업하기 보안프로그램 모듈 외주를 진행하면서 github를 사용하게 됐다. 예전부터 간간히 쓰지만 사용을 안할수록 잊어버리기 때문에 정리한다. 우선 실제로 진행하는 프로젝트의 우측상단에서 fork를 통해 나의 계정프로젝트로 복사해준다. 이후 나의 레포지토리 목록을 보면 fork한 폴더가 있다. 해당 폴더로 들어가면 이렇게 나의 개인주소와 원본 프로젝트의 주소가 아래에 나와있는것을 알 수 있다. 이후 나의 작업 컴퓨터에 깃허브를 설치하고 다음주소를 복사하면된다. git clone (복사한 URL) 작업할 컴퓨터의 터미널에서 해당 명령어를 입력해주면 fork된 나의 계정의 프로젝트를 그대로 가져온다.(vscode의 터미널을 이용하는것을 추천) git remote add 사용할 닉네임 (원본 프로젝트의 clone할 U..
Flask-RESTX Swagger를 이용한 문서화 localhost에 들어가면 기본적으로 문서화가 되어있다. app.py from flask import Flask from flask_restx import Resource, Api from todo import Todo app = Flask(__name__) api = Api( app, version='0.1', title="nam's api server", description="nanam's Todo API Server!", terms_url="/", contact="riotgames@kakao.com", license="MIT" ) api.add_namespace(Todo, '/todos') if __name__ == "__main__": app.run(debug=True, host='0.0.0...
flask + rest api 공부 flask의 장점 API Server를 가볍게 구현 할 수 있습니다. Docker나 Kubernetes를 이용해 여러 개의 컨테이너를 사용할때 용이 합니다. 일단 쉽고, 코드가 짧다. 설치 $ pip install flask $ pip install flask-restx 테스트용 코드 from flask import Flask # 서버 구현을 위한 Flask 객체 import from flask_restx import Api, Resource # Api 구현을 위한 Api 객체 import app = Flask(__name__) # Flask 객체 선언, 파라미터로 어플리케이션 패키지의 이름을 넣어줌. api = Api(app) # Flask 객체에 Api 객체 등록 @api.route('/hello')..