WAR GAME 149

[pwnable.xyz] child 풀이 (type confusion)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 얼마 전에 면접 준비하면서 풀었는데, 롸업을 못올리고 있었다. 이 문제가 type confusion이라고 한다. 예전에 type confusion에 대해 찾아본 적이 있는데 누가 뭐냐고 물으면 그냥 단순하게 타입혼동!!! 이라고 할 것 같다 ㅎ;; 다시 찾아봐야지 ... Analysis Check Mitigation No PIE 너무 좋다. got overwriting도 된다. Execution 4번 메뉴의 rejuvenate 뜻이 젊어지게 하다. 이다. 그러면... 사람을 젊어지게 하는...? 그런 메뉴다.. 신기하다...ㅋㅋ! 6번 메뉴 evict는 퇴거시키다..라는데 사람을 퇴거시키다..? 뭐지? T_T Code 메뉴 1:..

[pwnable.xyz] bookmark 풀이 (logic bug로 인한 overflow?)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro logic error라고 하는데, 사실 error랑 bug 차이도 잘 모르겠고,, (?) 결국은 overflow가 일어나서 변수의 값을 덮는 것이기 때문에 logic bug로 인한 overflow? 라고 제목을 지었다. Analysis Check Mitigation 요새는 왤케 다 문제들이 보호기법이 전부 걸려있는지 잘 모르겠다. Execution 일단은.. login을 하는게 무슨 의미인지 잘 모르겠고, url을 생성하고 프린트하고 save하는 곳에서 뭔가 취약점이 발생할 것 같은 느낌적인 느낌? 이제 코드를 살펴보자. Code 빨간색 네모 1번 Login 메뉴로 password를 입력하는 부분이다. 여기서 qword_2023..

[pwnable.xyz] message 풀이 (OOB, pie leak, canary leak)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro Analysis Check Mitigation 보호 기법이 전부 다 걸려있다. 엄청 간단하거나, 카나리 릭이나 파이릭을 해야하는 그런 문제일 수도 있다. Execution 처음에 이 문제보고 FSB 문제일려나? 싶었는데 아니었다.ㅎ Code 노란색 admin은 전역변수이다. admin 위치에 뭔갈 넣고 저 메뉴를 선택하면 win함수(flag 출력)이 호출이 될 것이다. 빨간색 scanf에서 bof가 터지고 2번 메뉴에서 나의 인풋을 출력해준다. 그래서 여기서 카나리 릭도하고 파이 릭도하고,, RET를 덮자~ 라고 생각했다. 하지만 문자열을 입력받을때 마지막에 NULL도 같이 붙어버린다. OMG 그래서 다른 방법을 찾아야 했다. ..

[pwnable.xyz] badayum 풀이 (pie leak, canary leak)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 랜덤으로 bof 찾기!? Analysis Check Mitigation 보호 기법이 전부 다 걸려있다. 엄청 간단하거나, 카나리 릭이나 파이릭을 해야하는 그런 문제일 수도 있다. Execution Code stripped된 파일이다. sub_cb8은 그냥 셋팅하는거라서 sub_ead 함수를 살펴보기로 한다. random_str을 sub_d48 함수를 통해 정의해주고 있다. (sub_d48함수는 추후 살펴볼 예정) 그리고 random_str을 포함해서 이것저것 출력을 해준 다음, random_str의 길이를 재고 v0변수에 저장하고 있다. read함수로 사용자에게서 v0+1(random_str보다 한글자 더 긺) 길이의 input..

[pwnable.xyz] Dirty Turtle 풀이 (*)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 처음에 문제 이름만 보고 풀이가 좀 더러운 문제인가..? 싶었다 ㅎ. Analysis 보호 기법 확인 No 렐로 Execution 뭔가 원하는 주소에 원하는 값을 넣을 수 있게 생겼다. Code 오호, 원하는 주소에 원하는 값을 넣을 수 있다. 게다가 flag를 출력해주는 win함수도 있다. no relro였으니, 어떤 함수 got에다가 저 주소를 넣어주면 될 듯 하다. 그런데 딱히 덮을만한 got가 없다..! 그러면 fini_array 덮어야지 Exploit Scenario 1. fini_array에 win주소 넣기 아 그런데, get_val 함수 리턴값이 뭐길래 처음에 자꾸 v5 변수에 그냥 0이 들어갔었다. 정체는 strt..

[pwnable.xyz] strcat 풀이 (OOB)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro maxlen을 늘려서 함수포인터를 바꾸는 방향으로 풀어보았다. (name 범위 밖에 접근가능하니깐 OOB 취약점이 터진다고 생각했다.) 문제에 워낙 FSB가 대놓고 터져서 FSB로만 풀 생각을 했었는데...... 이런 방법이 있었군 ㅇㅁㅇ!! https://www.notion.so/jir4vvit/pwnable-xyz-strcat-OOB-8e47aba1a25e46c986ec4f25f49edf82 [pwnable.xyz] strcat (OOB) 워게임 사이트 : HackCTF (https://ctf.j0n9hyun.xyz/) www.notion.so

[pwnable.xyz] Game 풀이 (strlen)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro Tired of math already? Try getting the highest score possible. 이거 디스크립션이 위랑 같이 되어있었다.d 이거 바로 앞 문제가 계산놀이였어서, 이것도 수학으로 문제푸는,,, 그런 문제인 줄 알았당 ㅋㅎ https://www.notion.so/jir4vvit/pwnable-xyz-Game-80125d72aec34c858a98c88ccf2f57b9 [pwnable.xyz] Game 워게임 사이트 : HackCTF (https://ctf.j0n9hyun.xyz/) www.notion.so

[pwnable.xyz] 133t-ness 풀이 (integer overflow, 계산놀이)

문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro 정수로 하는 계산놀이다. Analysis mitiagtion 사실 문제 풀 때 코드부터 확인했다. 보호기법 확인안해도 될 것 같아서 문제풀 때는 하지 않았었다. execution 매정하게 종료된다.. code IDA 켜자마자 함수 목록이 쫘라락 나온다. round_1, round_2, round_3 반환값이 0이 아니면 win 함수를 실행시킨다. round_1 x와 y에 read함수로 입력 받는다. 빨간색 네모 strchr 함수를 이용하여 해당 문자열에 '-' 문자가 포함되어있는 지 확인한다. 포함되어 있으면 포함된 곳의 포인터를 반환하고 없으면 Null 포인터를 반환한다. (false) if문이 flase(0)이어야 한다.(i..