hacking(287)
-
HACKCTF - 1996
pwnable문제입니다. 1996 파일 하나 주는데 해당 파일을 실행시켜보면 이렇게 인풋하나를 받고 다시 출력시켜줍니다. 16번째 줄을보면 해당중에서 name을 받고 shell을 띄워주는 함수가 있으니 ret를 여기로 주면 될 것 같습니다. 페이로드는 아래와 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 from pwn import * r = remote("ctf.j0n9hyun.xyz", 3013) #r = process("./1996") e = ELF("./1996") context.log_level = "debug" shell = 0x0000000000400897 r.recvuntil("? ") payload = "" payload += "A"*0x410..
2020.08.06 -
DreamHack - basic_exploitation_000
보호되어 있는 글입니다.
2020.08.05 -
HACKCTF - 잔상
해당 zip파일을 받고 압축을 풀게되면 섹시하신 선생님 두분이 계십니다. 똑같은 이미지 두개를 주고 FLAG를 찾으라고 하니 자연스럽게 DIFF가 생각이 났고 둘을 비교하기위해서 IHEX를 사용했습니다. 모두 개별적으로 비교하는건 힘들거같고, command+a + command C 가 자꾸 이상하게 오류가나서 다음과 같은 방법으로 hex값들을 출력하고, diffchecker.com/diff Diff Checker Try our desktop app Offline mode, advanced features and more www.diffchecker.com 사이트를 활용해서 다른 부분을 찾아서 FLAG를 조합했습니다. FLAG 사이트를 이용해도 좋지만, python으로 코드를 만들어보는것도 좋을 것 같네요.
2020.08.05 -
DreamHack - hook
보호되어 있는 글입니다.
2020.08.04 -
HACKCTF - UAF
가장 전형적인 UAF문제로 볼 수 있습니다. 8짜리 malloc2개를 진행해주고, ("AAAA", "BBBB") 다시 free해 줍니다. 이렇게 되면 추후에 병합이 일어나지 않도록 방어막 하나를 쳐줍니다. (16byte, "CCCCCCCC") 그리고 다시 8byte를 만들어주면 0x87c0008 부분이 ABCD로 바뀌게 됩니다. 그리고 이 부분을 호출하면 해당 부분으로 이동할 수 없다고 되니 이 부분을 flag주소로 변환해주면 될 듯 합니다. payload 는 아래와 같습니다. from pwn import * r = remote("ctf.j0n9hyun.xyz", 3020) #r = process("./uaf") context.log_level = "debug" flag = 0x08048986 def a..
2020.08.04 -
HACKCTF - RSA
RSA문제입니다. 예전에 풀이했던 기억이 있어서 예전에 사용했던 코드를 활용해서 풀어보았습니다. p,q,e,c를 주면 나머지 키들은 쉽게 구할 수 있어서 나름 쉬운 문제였습니다. hint페이지를 들어가면 위키백과 : https://ko.wikipedia.org/wiki/RSA_%EC%95%94%ED%98%B8 RSA 암호 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 RSA 암호는 공개키 암호시스템의 하나로, 암호화뿐만 아니라 전자서명이 가능한 최초의 알고리즘으로 알려져 있다. RSA가 갖는 � ko.wikipedia.org 링크를 주는데, 이곳에 있는걸 식으로 찾고 그 함수만 잘 찾으면 되는 문제였습니다. 코드는 아래와 같습니다. 1 2 3 4 5 ..
2020.08.04