전체 글(44)
-
[downunderCTF] baby(p)wn write up
python -c "print(0*512 + 'DUCTF')" | nc 문제에서 파일과 함께 제공했던 명령어이다. nc는 netcat의 약어이고 Netcat(ornc) TCP/UDP 프로토콜을 사용한 네트워크 연결을 통해 데이터를 읽고 쓰는 명령줄 유틸리티라고 한다. (일반적으로 상대 서버의 포트가 열렸는지 확인하거나, 직접 서버가 되어 원격 서버에서(클라이언트) 접속이 가능하지 확인하는 용도이다) nc 2022.ductf.dev 30021 문제에서 제공하는 python파일이다. #!/usr/bin/env python3 from ctypes import CDLL, c_buffer libc = CDLL('/lib/x86_64-linux-gnu/libc.so.6') buf1 = c_buffer(512) bu..
2022.09.26 -
[Dreamhack]basic_exploitation_000 빌드업(pwntools, gdb peda사용법)
1) kali에 git이 설치되어있지 않은 경우 아래 명령어로 깃을 설치한다. sudo apt install git-all 2) 깃이 설치되어있는 경우 아래 명령어로 pwngdb를 설치해준다. 이미 다른 gdb가 있으면 안해도 됨 git clone http://github.com/pwndbg/pwndbg 설치를 했다고 끝난것이 아니다. 디렉토리 이동을 해준뒤 셋업파일을 실행시켜주어야한다. cd pwndbg ./setup.sh 원래는...이렇게 하면 제대로 파일 실행이 될텐데 pip버전이 업데이트되면서 문제가 발생한다고 한다. 이걸로 해결했다는 사람들도 있었다. 근데 나는 안되더라...노답 sudo python3 -m pip uninstall pip && sudo apt install python3-pip..
2022.09.25 -
달고나 문서 BOF
오늘날의 시스템은 멀티태스킹을 하므로 그림처럼 여러개의 세그먼트가 저장될 수 있다. 하나의 세그먼트는 stack/data/code로 구성된다. 코드 세그먼트에는 컴파일러가 만들어낸 기계 컴파일러 코드가 들어있다. 컴파일 과정 중에는 코드가 저장될 정확한 메모리 주소를 알 수 없기 때문에, logical address를 사용한다(실제 주소는 offset(시작점) + logical address이 된다) 데이터 세그먼트에는 프로그램 실행 시에 필요한 데이터가 저장한다. 여기서 데이터는 전역변수를 말한다. **data segment에는 initialized data segment(초기화 된 데이터 세그먼트)와 uninitialized data segment(초기화 되지 않은 데이터 세그먼트)가 있는데 segm..
2022.09.20 -
[Dreamhack] web-ssrf
@app.route("/img_viewer", methods=["GET", "POST"]) def img_viewer(): if request.method == "GET": return render_template("img_viewer.html") elif request.method == "POST": url = request.form.get("url", "") # url 입력 urlp = urlparse(url) if url[0] == "/": url = "http://localhost:8000" + url # url에 host와 port를 명시하지 않을 경우 localhost:8000으로 설정 elif ("localhost" in urlp.netloc) or ("127.0.0.1" in urlp.ne..
2022.08.16 -
[Bee box] change password, change secret
#change_password 새 비밀번호를 입력했더니 아무 검증없이 비밀번호가 변경됨 URL에 새 비밀번호가 그대로 노출됨 html injection 페이지로 이동 후 화면 속 이미지 태그를 입력 [대응방안] 보안 난이도 상에서와 같이 password_curr의 값을 SHA-1 해시 함수를 씌워 DB에 저장된 패스워드와 값을 비교한 후 비밀번호가 변경될 수 있도록 페이지를 작성한다. #change_secret csrf_3.php 페이지의 소스코드를 열어보면 다음과 같은 부분이 있다. hidden 타입으로 선언된 login 변수에 현재 아이디 값이 할당되어 있다. 버프스위트로 잡아서 밑에 나오는 3개의 변수를 확인한다. xss_stored_1.php 페이지로 이동 후 화면 속 이미지 태그를 입력한다. S..
2022.08.11 -
URL 구조
https://learntoshare.tistory.com/manage/newpost/?type=post&returnURL=%2Fmanage%2Fposts%2F# 프로토콜 / 호스트 주소 / 경로 / 쿼리
2022.08.08