[Webhacking.kr] 17번
2021. 5. 13. 18:17
Wargame/Webhacking.kr
Java Script 문제 아무값이나 입력하고 버튼을 누르면 wrong 경고창이 뜬다. login.pw.value(우리가 입력하는 값)이 unlock 과 동일할 경우 "?"+(unlock/10) 사이트로 이동시킨다.
[Webhacking.kr] 16번
2021. 5. 13. 18:09
Wargame/Webhacking.kr
Java Script 문제 cd 값이 124일 때 어떤 php 사이트로 이동시켜준다. 처음엔 cd 를 124로 만들려고 했다. mv 함수는 키를 누를 때 실행되는데, 누른 특정 키에 해당하는 아스키 값을 인자로 넣는다. 그런데 124에 해당하는 키는 f13 으로, f13키는 없었다.... 그래서 직접 저 사이트로 이동시켜주기러 했다. fromCharCode 는 아스키코드번호를 받아 문자열을 구성해주는 함수로, 아스키값 124는 | 에 해당한다.
[Webhacking.kr] 15번
2021. 5. 13. 17:47
Wargame/Webhacking.kr
Java Script 문제 먼가 alert 창을 띄우고 페이지를 이동시키는 JS 코드가 작동하는 것 같다.
[Webhacking.kr] 14번
2021. 5. 13. 17:34
Wargame/Webhacking.kr
Java Script 문제 입력을 하고 버튼을 클릭하면 input_pwd 의 파라미터 값으로 전달된다. input_pwd의 값이 ul 변수 값과 동일할 경우 사이트를 이동시킨다. ul 값은 다음과 같다.
[HITCON training] lab 12 secretgarden
2021. 5. 11. 22:12
Wargame/etc
1. 문제 main 함수 add() 함수 - 0x28만큼 malloc() 할당한 후 변수 s에 반환된 포인터 저장 - 입력받은 size 만큼 malloc() 할당 후 변수 buf에 반환된 포인터 저장 - (DWORD)s에 1을 저장하고, (QWORD)s+1에 buf 값을 저장하고 (char*)s +16에 문자열을 저장한다.(color) - &flowerlist(전역변수) + size(HIDWORD)에 s 값을 저장하고 flowercount(전역변수) 값을 증가시킨다. struct flower{ int vaild ; char *name ; char color[24] ; }; 사실 flower 구조체를 위해 처음에 0x28만큼 malloc() 할당한 것이다. flower->valid 에 1을 넣은 것 flo..
[Pwnable.kr] UAF
2021. 5. 8. 23:00
Wargame/Pwnable.kr
1. 문제 보면 Human 클래스와 Man, Woman 클래스가 상속 관계인 것 같다. 먼저 Human 형 m, w 객체가 초기화된다. 1번 : 각 객체의 introduce() 함수가 실행된다. 2번 : char 형 객체가 생성된다. argv[1] 으로 받은 크기만큼 메모리를 할당해서 data 변수가 가르키도록 한다. 그리고 argv[2] 로 입력받은 파일을 열어서 len byte 만큼 데이터를 읽고 읽은 데이터를 data 에 저장한다. 3번 : m, w 객체가 free 가 된다. -> 본 문제는 uaf 문제로 malloc 으로 할당한 뒤 free 후 재사용하는 방식이다. (uaf : malloc -> free -> malloc) 초기화된 m, w 객체를 3을 입력하여 free 해주고, 다시 2를 입력하..
[HackCTF] UAF
2021. 5. 8. 18:19
Wargame/HackCTF
1. 문제 canary, nx 가 켜져있다. 메뉴 화면이 나오고, 1~4번까지 선택지가 주어진다. 각 선택지에 따라 다른 함수들이 실행된다. main 함수 v3에 저장된 값에 따라 각 함수들이 실행된다. add_note() 함수 먼저 notelist 배열 값이 비어있는지 확인한다. notelist 란 전역에 선언된 배열로써 최대 5개의 노트까지 추가할 수 있다. add_note() 에서는 총 두 번 malloc()이 호출된다. - print_note_content 라는 함수 포인터 저장을 위해 - 실제 데이터를 저장하기 위해 0x804c008 : 함수 포인터가 저장되어 있다. 0x804c018 : 입력한 데이터가 저장되어 있다. del_note() 함수 add_note() 를 하면 notelist 의 배..
[HackCTF] Beginner_Heap
2021. 5. 8. 16:20
Wargame/HackCTF
1. 문제 입력을 두 번 받고 끝낸다. 총 네 번 malloc 을 할당한다. 1. v3에 16 공간 할당 2. v3+1에 8 공간 할당 3. v4에 16 공간 할당 4. v4+1에 8 공간 할당 5. s라는 변수에 최대 0x1000의 크기의 값을 입력받고 v3+1에 저장 6. s라는 변수에 최대 0x1000의 크기의 값을 입력받고 v4+1에 저장 이 부분에서 strcpy 시 overflow 가 두 번 발생한다. sub_400826 함수를 실행시키는 것이 목적일 것이다. 2. 문제 해결 과정 1 (v3이 가르키는 힙영역) malloc(8) 할당한 주소가 담김 malloc(8) 실제 주소 2 (v4가 가르키는 힙영역) malloc(8) 할당한 주소가 담김 v4+1에 입력을 받으니 v4+1이 가르키는 0x60..