본문 바로가기

분류 전체보기

(267)
NO-Named Pwnable_STSTSTSTSTACK Write up 일단 뭐 내가 출제자라 롸업은 아니고 어떤 의도해서 이걸 낼려했는지 간단하게 작성한다. 일단 내가 원했던건 64비트 FSP 하고 원샷 가젯을 이용한 익스다. 일단 여기서 포맷스트링이랑 버퍼오버플로우가 동시에 터진다. 일단 포맷스트링으로 Libc를 Leak 한다. 그리고 ret는 main으로 다시 돌리든 치트 박스로 돌리든 상관없다. 그래서 다시 인풋 받을때 원샷으로 돌리는 문제이다. 일단 알아서 해보라고 익스는 올리지 않겠다. 그냥 풀면 너무 쉽다
Defcon2020 WEB_uploooadit Write up 일단 롸업을 보고 작성하긴 했는데 조금 틀린 부분이 있을 수 있음 일단 기법은 http desync이 기법을 이용한거임 이게 뭐냐면 약간 poison 같은건데 http 요청할때 content length 하고 , Transfer-Encoding 을 이용해서 다른 패킷을 영향을 미칠수 있는 기법임 REF https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn HTTP Desync Attacks: Request Smuggling Reborn HTTP Desync Attacks: Request Smuggling Reborn portswigger.net 여기 들어가보면 뭔지 알 수 있음 한국어 자료도 구글에 쳐보면 나옴 그니까 ..
codegate2017 js_world Write up 보호되어 있는 글입니다.
pwnable.tw CVE-2018-10387 Write up 보호되어 있는 글입니다.
pwnable.tw CVE-2018-1160 Write up Hitcon 2019 netatalk 문제랑 같은 문제이다. 환경은 ubuntu 18.04.1 환경이다. 약간 문제 설명에 이런거까지 세세하게 있으면 좋을거같다. 일단 이 취약점은 우리가 원하는곳에 메모리 쓰기가 가능하다. 그럼 어디서 취약점에 발생하는 걸까? 첫번째 취약점은 여기서 memcpy 에서 발생하게 된다. 우리가 조정할 수 있는 값은 dsi->commands, dsi->attn_quantum 이다. 우리가 컨트롤이 가능하니 여기서 취약점이 팍 하고 터지는 것을 알 수 있다. 디버깅 결과 이렇게 포인터를 덮을 수 있다. 근데 여기서 오버플로우가 발생하면 도대체 뭘 할수 있을까? 정답을 알아볼려면 dsi 구조체에 뭐가 들어있는지 알아야한다. 여기서 보면 우리는 attn_quantum 값 부터 데이..
pwnable.tw pwnable_Secret Of My Heart Write up poison null byte 취약점 터진다. 힙 꼬와서 릭하고 조지면 풀리는 문제다 근데 malloc hook을 덮어도 익스가 안되는데 원샷 주소를 조금 바꿔야되고 malloc을 하는게 아닌 free를 하면서 오류를 터지게 만들어 익스를 해야한다. #!/usr/bin/env python #-*- coding: utf-8 -*- from pwn import * #p = process("./secret_of_my_heart") p = remote("chall.pwnable.tw", 10302) binf = ELF("./secret_of_my_heart") #libc = binf.libc libc = ELF("./libc_64.so.6") context.log_level = "DEBUG" offset_mal..
d^3ctf babyrop Write up 요즘 VM문제만 찾다보니 이것도 풀게 되었다. 뭐 이 문제 역시 디버깅은 역시 귀찮다. 그래서 대충 이런식으로 분석하면 대충 어떻게 돌아가는지 보이는데 신기한게 하나하나 보다보니까 포인터 자체를 올리는 부분이 있더라고? 그래서 그 부분 자세히 분석해보니까 ret stack 부분을 자꾸 건들음 근데 완전히 offset이 맞는게 아니라서 이걸 어떻게 맟춰줘야 할까 생각해봤는데 밑에 ptr-8 로 포인터를 또 내려주는 부분이 있더라고? 그래서 그 부분을 봤는데 전에 있던 포인터에 있던 값을 복사를 해오면서 ptr-8 을 해주는 거였음 그래서 처음 생각했던게 ret를 덮어서 익스한는건데 생각해보니까 pie가 걸려있었음 libc있는 주소까지 올려서 하나씩 내리는 거였는데 이런거같은 경우는 자꾸 어딘가에서 터지더라..
codegate 7amebox1 Write up 보호되어 있는 글입니다.