본문 바로가기

70ry

(167)
[Noe.systems] card [Pwnable] main의 소스를 보면 이렇게 되어있는데 우선 flag_read 함수를 볼 수 있다 이게 플래그 함수다. 이건 메뉴다 이문제는 Plaid-ctf-prodmanager와 비슷하다. 1번을 눌러서 make_card 함수를 보면name addr job 입력을 받는데 malloc으로 할당한 공간에 값을 넣는다 여기 malloc다음 f8을 한번 누르면 레지스터창에 힙 주소를 알 수 있다 이런식으로 malloc 후 free하고 다시 그 위에 값을 쓰면 저런식으로 값이 나온다 이렇게 되는걸 알 수 있는데 계속 해보니깐 152바이트까지는 출력이 된다그러니 152를 넣고 flag_read에 있는 stream 주소를 넣으면4번을 눌렀을 때 플래그를 보여준다. 12345678910111213141516171819202122..
[Noe.systems] LoginSystem [Reversing] 우선 이 문제는 50점짜리랑 난이도가 비슷했다음.... 그냥 80점 이지크랙이 좀 더 시간 잡았다 아이디 비교전 함수가 3개 보이는데1번은 id와 pw를 입력받는 곳이다. 2번째는 내가 입력한 값을 연산해서 저장한다. 3번째는 2에서 연산한 결과에 다시 또 연산한다. 이 값을 G@ytOr!es 이거와 비교한다.그렇다면 역연산을 짜고 돌리면 ID를 알 수 있다.그 후에 패스워드를 비교하는 함수안으로 들어가게 된다. 이게 패스워드를 비교하는 부분인데 아이디와 마찬가지로 함수 2개의 연산을 거친 후저 이상한 값과 비교를한다. 근데 첫 번째 함수를 보면 저기 *(v4 + 1LL + a1) 이 값을 알 수 없다그래서 디버깅을 해봤는데 ID에서 적은 값을 바탕으로 가져오게 된다. 그 다음 첫 번째에서 연산한 값을 ..
[Noe.systems] Easy keygen [Reversing] 이런 프로그램이 나온다 Easy Keygen Problem:'2A4542735D5F4D3B71774F7026'에 해당하는 시리얼 키를 가진 닉네임을 구하여라! Auth format:※ 인증키: 주어진 시리얼 키에 해당하는 닉네임 첨에 문제를 잘못 이해해서 저 헥스값이 닉네임일 때 시리얼 구하는줄 알고 그렇게 구했다가 노답이였다문제는 저게 시리얼이 되는 키값을 구하는건데 123456789101112131415161718result = ""result += chr(0x2A)result += chr(0x45)result += chr(0x42 - 2)result += chr(0x73)result += chr(0x5D - 4)result += chr(0x5F)result += chr(0x4D - 2)result ..
[Noe.systems] Break Time [Reversing] 비교적 소스는 간단했다 또 같은실수를했는데-를 왜 +로 안바꿨는지 이거 떄문에 한 5분 잡았네12345678a = "=F=o@q[]JS=cwE^=
[Noe.systems] Double Double [Misc] 15점으로 간단한 문제다 그냥 3번 아무값이나 곱했을 때 랜덤수를 2개나오게하면된다 ex) 987이 나오면? ? ? 이렇게 3번 곱해서987987 이래 나오게하면된다처음에 이건 고정값이 있을거 같다고 생각했는데 만약 876이란 값이 있으면876 * ? * ? * ? == 876876이렇게 된다그렇다면 ? * ? * ? = 876876/876이 된다즉 ? * ? * ? = 10013번을 곱해서 1001을 어떻게 만드냐그냥 1 * 1 * 1001 하면된다끝~NOE{fUnfUnm4thtr1ck}
defcon 2017 보호되어 있는 글입니다.
TAMU CTF reversing https://ctf.tamu.edu/scoreboard threads - 100스트링을 보면 플래그가 보인다전체적으로 문제들이 매우 쉬웠다. threads2 - 100md5값이 보여서 바로 복호화했더니 바로나온다 fancy bear - 100after func0을 출력한다함수중에 func0이란 함수명이있는데 한번보자 0x66 0x66보다 크면 넘어가게된다. 이런식으로 함수가 func0~func37까지 있는데헥스레이의 저부분을 다 리스트화해서 1씩 더한값을 출력하면된다. 123456a = [0x66, 0x68, 0x66, 0x64, 0x6c, 0x7a, 0x63, 0x78, 0x6d, 0x60, 0x6c, 0x68, 0x62, 0x5e, 0x64, 0x65, 0x65, 0x6e, 0x71, 0x73, 0..
cmder 보호되어 있는 글입니다.