uaf(2)
-
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 -
pwnable.kr - uaf
UAF문제입니다.heap영역에서 일어나는 취약점입니다.사이버가디언즈수업에서 멘토님꼐서 알려주신문제라 처음 접해보는 취약점이지만 조금쉽게 풀어볼 수 있었습니다. 자세한 설명은 생략하고 필요한 부분만 설명해보겠습니다.일단 메인이 실행되게끔 약 main+100에bp를 하나 잡고, add+8이라는 분기문 이실행되기 직전에 bp를 하나 더 추가해줍니다.그리고 use라는 함수를 사용하기위해 입력해주고 실행합니다. 그후 rax의 값을 보고 그 값을 추적해보면 give_shell함수로 들어가있습니다. 또한 이에다 +8한 값은 introduce의 함수값입니다.그러면 처음에 그값대신에 +8을 한값이 give_shell이 되게끔 0x401568을 넣어주면 될 것 같습니다. 이런식으로 ex하면? (grin)
2018.09.10