no image
webhacking.kr challenge 3
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ Nonogram 정답이다. 옆의 숫자는 이어진 검은 면의 숫자이므로 그것을 고려해서 풀면 된다. 이 문제 역시 injection 문제이다. 소스 코드에 value=“1’ or ‘1’=‘1”를 추가해 항상 참이 되도록 하면 문제가 풀린다.
2020.06.26
webhacking.kr challenge 2
보호되어 있는 글입니다.
2020.06.26
no image
webhacking.kr challenge 1
※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다. ※ 소스코드를 확인해보면 PHP 문을 확인할 수 있다. 이를 분석해보면 Cookie의 user_lv이 6 이상이면 user_lv을 1로 바꾸고, 5보다 크면 문제가 풀린다는 것을 알 수 있다. 따라서 user_lv에 5보다 크고 6보다 작은 값을 넣어줘야 한다. 값으로 5.1을 넣어주니 문제가 풀렸다. 쿠키 에디터로는 하단의 확장 프로그램을 사용했다. EditThisCookie EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다! chrome.google.com
2020.06.26
no image
pwnable.kr flag
Pwnable.kr flag 파일을 HxD로 열어보면 UPX로 패킹이 되어있는 것을 확인할 수 있다. 패킹을 풀어준다. IDA로 열어보면 패킹이 정상적으로 풀린 것을 확인할 수 있다. 이제 Flag의 값을 확인해본다. Flag 더블클릭하면 값을 확인할 수 있다. UPX...? sounds like a delivery service :)
2020.06.26
no image
reversing.kr Easy_UnpackMe
Reversing.kr Easy_UnpackMe 파일을 PEiD로 확인하면 EP Section을 확인할 수 없다. 또한 어떤 방식으로 패킹이 되어있는지 모르겠다. 파일을 올리디버거로 연다. 마지막의 0000이라는 의미 없는 부분 위의 JMP 명령에 BP를 걸고 실행한다. 00401150 그러면 00401150으로 이동하게 된다. 이 위치가 OEP이다. Ctrl+A를 사용하면 코드를 분석해준다. 이 위치에서 dump를 뜬 후 PEiD로 다시 확인해보면 패킹이 풀린 것을 확인할 수 있다.
2020.06.26
no image
picoCTF rev_this
picoCTF rev_this 코드를 살펴보면 flag.txt를 열어서 +, - 연산을 진행 후 그 값을 rev_this 파일에 저장한다. 따라서 rev_this의 값과 코드를 통해서 flag.txt의 값을 찾아야 한다. flag.txt의 값을 찾기 위해 +연산은 -로, -연산은 +로 고친 후 실행시키면 flag가 출력된다. picoCTF{r3v3rs369806a41}
2020.06.26
no image
HackCTF Reversing me
HackCTF Reversing me 문제에서 소스코드를 다운받아서 확인하면 serial 변수와 이를 xor하여 진짜 serial 값을 만들어내는 코드를 확인할 수 있다. 이 코드를 수정하여 serial 값을 출력하였다. 위의 코드를 추가하여 enter에 실제 serial 값을 대입한 후 출력시켰다. HackCTF{hey_success_D0_y0u_kn0w_r3verse_3n9ineer1n9?}
2020.06.25
no image
IOLI crackme 0x03~0x05
crackme0x03~0x05 0x03 디컴파일러로 확인해보면 입력한 값과 0x52b24를 비교한다. 338724 0x04 입력 값을 check 함수로 보낸다. check 함수에서는 입력 받은 password를 한 글자로 자른다. 그리고 그 글자가 int 정수일 경우 ans에 더한다. 그 값이 0xf가 되면 문제가 풀린다. 0xf는 15이므로 그 값이 15가 되도록 78, 726 등을 입력하면 문제가 풀린다. 그 사이에 문자가 들어가도 괜찮다. 0x05 여기도 동일하게 check 함수가 존재한다. 이번에는 그 값이 0x10이 되면 문제가 풀린다. 또한 마지막 자리가 0이어야 한다. 0x10은 16이므로 880 등의 값을 넣으면 해결된다.
2020.06.25

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 

Nonogram 정답이다. 옆의 숫자는 이어진 검은 면의 숫자이므로 그것을 고려해서 풀면 된다. 

 

 

이 문제 역시 injection 문제이다. 소스 코드에 value=“1’ or ‘1’=‘1”를 추가해 항상 참이 되도록 하면 문제가 풀린다.

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 7  (0) 2020.06.26
webhacking.kr challenge 6  (0) 2020.06.26
webhacking.kr challenge 5  (0) 2020.06.26
webhacking.kr challenge 2  (0) 2020.06.26
webhacking.kr challenge 1  (0) 2020.06.26

webhacking.kr challenge 2

2020. 6. 26. 17:10

This is a protected article. Please enter the password.

※ 작년 말 ~ 올해 초에 작성한 라이트업으로 사이트 개편 전의 문제가 섞여있습니다.  ※ 

 

 

 

 소스코드를 확인해보면 PHP 문을 확인할 수 있다. 이를 분석해보면 Cookieuser_lv6 이상이면 user_lv1로 바꾸고, 5보다 크면 문제가 풀린다는 것을 알 수 있다. 따라서 user_lv에 5보다 크고 6보다 작은 값을 넣어줘야 한다.

 

 

 값으로 5.1을 넣어주니 문제가 풀렸다. 쿠키 에디터로는 하단의 확장 프로그램을 사용했다. 

 

 

 

EditThisCookie

EditThisCookie는 쿠키 관리자입니다. 이것을 이용하여 쿠키를 추가하고, 삭제하고, 편집하고, 찾고, 보호하거나 막을 수 있습니다!

chrome.google.com

 

728x90

'CTF > 웹 해킹' 카테고리의 다른 글

webhacking.kr challenge 7  (0) 2020.06.26
webhacking.kr challenge 6  (0) 2020.06.26
webhacking.kr challenge 5  (0) 2020.06.26
webhacking.kr challenge 3  (0) 2020.06.26
webhacking.kr challenge 2  (0) 2020.06.26

pwnable.kr flag

assb
|2020. 6. 26. 16:51

Pwnable.kr flag

 

 

파일을 HxD로 열어보면 UPX로 패킹이 되어있는 것을 확인할 수 있다.

 

 

패킹을 풀어준다.

 

 

IDA로 열어보면 패킹이 정상적으로 풀린 것을 확인할 수 있다. 이제 Flag의 값을 확인해본다.

 

 

Flag 더블클릭하면 값을 확인할 수 있다.

 

 

UPX...? sounds like a delivery service :)

 

728x90

'CTF > 리버싱' 카테고리의 다른 글

reversing.kr Easy_UnpackMe  (0) 2020.06.26
picoCTF rev_this  (0) 2020.06.26
HackCTF Reversing me  (0) 2020.06.25
IOLI crackme 0x03~0x05  (0) 2020.06.25
GDB 사용법  (0) 2020.06.25

Reversing.kr Easy_UnpackMe

 

 

 

파일을 PEiD로 확인하면 EP Section을 확인할 수 없다. 또한 어떤 방식으로 패킹이 되어있는지 모르겠다.

 

 

파일을 올리디버거로 연다.

 

 

마지막의 0000이라는 의미 없는 부분 위의 JMP 명령에 BP를 걸고 실행한다.

 

 

00401150

그러면 00401150으로 이동하게 된다. 이 위치가 OEP이다. Ctrl+A를 사용하면 코드를 분석해준다.

 

 

이 위치에서 dump를 뜬 후 PEiD로 다시 확인해보면 패킹이 풀린 것을 확인할 수 있다.

 

 

728x90

'CTF > 리버싱' 카테고리의 다른 글

pwnable.kr flag  (0) 2020.06.26
picoCTF rev_this  (0) 2020.06.26
HackCTF Reversing me  (0) 2020.06.25
IOLI crackme 0x03~0x05  (0) 2020.06.25
GDB 사용법  (0) 2020.06.25

picoCTF rev_this

assb
|2020. 6. 26. 16:43

picoCTF rev_this

 

 

코드를 살펴보면 flag.txt를 열어서 +, - 연산을 진행 후 그 값을 rev_this 파일에 저장한다. 따라서 rev_this 값과 코드를 통해서 flag.txt의 값을 찾아야 한다. 

 

 

flag.txt의 값을 찾기 위해 +연산은 -로, -연산은 +로 고친 후 실행시키면 flag가 출력된다. 

 

 

 

picoCTF{r3v3rs369806a41}

728x90

'CTF > 리버싱' 카테고리의 다른 글

pwnable.kr flag  (0) 2020.06.26
reversing.kr Easy_UnpackMe  (0) 2020.06.26
HackCTF Reversing me  (0) 2020.06.25
IOLI crackme 0x03~0x05  (0) 2020.06.25
GDB 사용법  (0) 2020.06.25

HackCTF Reversing me

 

 

문제에서 소스코드를 다운받아서 확인하면 serial 변수와 이를 xor하여 진짜 serial 값을 만들어내는 코드를 확인할 수 있다. 이 코드를 수정하여 serial 값을 출력하였다.

 

 

위의 코드를 추가하여 enter에 실제 serial 값을 대입한 후 출력시켰다.

 

 

HackCTF{hey_success_D0_y0u_kn0w_r3verse_3n9ineer1n9?}

728x90

'CTF > 리버싱' 카테고리의 다른 글

reversing.kr Easy_UnpackMe  (0) 2020.06.26
picoCTF rev_this  (0) 2020.06.26
IOLI crackme 0x03~0x05  (0) 2020.06.25
GDB 사용법  (0) 2020.06.25
picoCTF 2018 learn gdb  (0) 2020.06.25

crackme0x03~0x05

 

 

0x03

 디컴파일러로 확인해보면 입력한 값과 0x52b24를 비교한다. 

 

 

 338724

 

 

 

0x04

 입력 값을 check 함수로 보낸다.

 

 

 check 함수에서는 입력 받은 password를 한 글자로 자른다. 그리고 그 글자가 int 정수일 경우 ans에 더한다. 그 값이 0xf가 되면 문제가 풀린다. 0xf 15이므로 그 값이 15 되도록 78, 726 등을 입력하면 문제가 풀린다. 그 사이에 문자가 들어가도 괜찮다. 

 

 

 

0x05

 여기도 동일하게 check 함수가 존재한다. 

 

 

 이번에는 그 값이 0x10이 되면 문제가 풀린다. 또한 마지막 자리가 0이어야 한다. 0x10은 16이므로 880 등의 값을 넣으면 해결된다.

728x90

'CTF > 리버싱' 카테고리의 다른 글

picoCTF rev_this  (0) 2020.06.26
HackCTF Reversing me  (0) 2020.06.25
GDB 사용법  (0) 2020.06.25
picoCTF 2018 learn gdb  (0) 2020.06.25
CTFLearn PIN  (0) 2020.06.25