목록전체 글 (421)
외로운 Nova의 작업실
- 데이터베이스 기본개념 후보키(candidate key) : 키의 특성인 유일성과 최소성을 만족하는 키를 지칭합니다. 슈퍼키(super key) : 유일성을 만족하는 키를 지칭합니다. 기본키(primary key) : 여러개의 후보키중에서 하나를 선정하여 사용하는 것을 지칭합니다. 대체키(alternate key) : 여러개의 후보키 중에서 기본키로 선정ㄷ되고 남은 나머지키를 지칭합니다. 외래키(foreign key) : 어느 한 테이블이 다른 테이블의 기본키를 참조할때, 이 기본키를 외래키라합니다. 키 무결성(key integrity) : 한 테이블에 같은 키값을 가진 값이 있어서는 안됩니다. 개체 무결성(entity integrity) : 기본키에 속해있는 전체 또는 일부가 널값을 가질 수 없습니다..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmUTnW/btrUMPKHLz4/Wgjfddi2kKieNgXUbSkIk1/img.png)
- 리눅스 gcc test.c -o test.exe 프로텍트 미적용 gcc test.c -o test.exe -fno-stack-protector -no-pie 32비트 컴파일 gcc -o test test.c -m32 오브젝트 파일 생성 gcc -c test.c via test.c #파일만들기 및 수정 $ objdump -d shellcode.o $ objcopy --dump-section .text=shellcode.bin shellcode.o $ xxd shellcode.bin - gdb ni : nexti 함수내부로 안들어갑니다. si : stepi 함수내부로 들어갑니다. b : b *함수주소 또는 b 함수이름 으로 브레이크를 겁니다. [print 함수이름]을 하면 함수의 주소를 알 수 있습니다...
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmTkRN/btrUPZrUH33/eTIgYFcjoXHhurXLKeMZQK/img.png)
이번시간에는 웹해킹 마지막 blind-command 문제를 풀어보겠습니다. - 문제 인식 flag file을 읽으라고합니다. 확장자도 파일 이름도 주어지지않습니다. 먼저 문제 파일을 보겠습니다. #!/usr/bin/env python3 from flask import Flask, request import os app = Flask(__name__) @app.route('/' , methods=['GET']) def index(): cmd = request.args.get('cmd', '') if not cmd: return "?cmd=[cmd]" if request.method == 'GET': '' else: os.system(cmd) return cmd app.run(host='0.0.0.0', p..