[P4C] pwnable problem writeup2
2021. 4. 29. 19:11
Hacking/Pwnable
팀원분들이 직접 제작하신 포너블 문제를 풀어보는 시간이다. (이번엔 종학님이 제작하신 문제들에 대한 롸업이다.) 1번 문제) 문제 buf, key의 주소를 출력하고 입력을 받는다. gets() 함수 입력 시 bof 가 발생한다. key 값을 변경해서 쉘을 획득하면 될 것 같다. 문제 해결 과정 buf의 위치 : ebp - 0x36 key의 위치 : ebp - 0x4 offset -> 50byte payload는 다음과 같을 것이다. "A"*50 + 0x44454144 익스플로잇 2번 문제) 문제 buf 의 주소를 출력해주고, 입력을 받는다. buf 의 주소를 출력해주고 입력을 받는다. 이때 gets() 로 입력 받을 시 bof 가 발생한다. -> 쉘코드를 넣고, ret 까지 더미로 채운 다음 ret 에 ..
[P4C] pwnable problem writeup1
2021. 4. 29. 18:17
Hacking/Pwnable
팀원분들이 직접 제작하신 포너블 문제를 풀어보는 시간이다. (한수님이 제작하신 문제들에 대한 롸업이다.) 1번 문제) 문제 이름을 입력받고, 멘트를 출력한다. 플래그를 찾아야 될 듯 싶다. gets() 를 통해 입력을 받는데, bof 가 발생한다. bof 를 통해서 ret 를 flag() 함수 시작주소로 변경해주면 될 것 같다! 문제 해결 과정 필요한 것들을 구해보자! 버퍼와 ret 간 offset : 108 byte flag() 시작주소 : 0x8049182 페이로는 다음과 같을 것이다. "A"*108 + 0x8049182 "A"*108 + 0x8049182 익스플로잇 2번 문제) 이번에도 flag 를 찾아야될 듯 싶다. 3번 문제) 문제 1. getenv 를 통해 "FLAG" 라는 환경 변수 주소를 ..
[P4C] Pwnable problem 3
2021. 4. 27. 14:55
Hacking/Pwnable
1. 문제 #include #include void get_shell(){ system("/bin/sh"); } void welcome(){ printf("Welcome to pwnable world!\n"); } void main(){ void (*call)() = welcome; char buf[30]; fgets(buf, 38, stdin); call(); } 2. 컴파일 gcc -o problem problem.c -fno-stack-protector -fno-pie -mpreferred-stack-boundary=2 -m32 다음과 같이 컴파일 해준다.
[CTF] UMDCTF 2021 후기
2021. 4. 23. 00:39
Hacking/CTF
저번 주말에 UMDCTF를 HACKPACK CTF랑 같이 나갔는데, 내 첫 CTF 였다...! UMD 에서는 그래도 포너블 세 문제 정도 풀어서 나름 뿌듯(?) 했다 ㅋㅋㅋㅋㅋㅎㅎ 사실 더 풀려다가 JUMP IS FOUND 왠지 힙 문제인 것 같아서 런했는데 나중에 보니 64bit fsb 문제였다. fsb 를 잘 못해서,, 나중에 시간되면 롸업을 보면서 같이 풀어봐야겠다. 사실 대회 나간 주말 바로 뒤에 시험(자구, 알고리즘 등등)과 과제가 너무 많아서, CTF에 큰 시간을 할애할 수가 없었다ㅠ 그래도 팀원들이랑 시간 맞춰서 같이 문제 풀어보고 참가할 수 있어서 좋았고, 다음번에는 좀 시간 있을 때 나가서 문제를 더 풀어보고 싶다!! 이번에 CTF를 나가보니, 내 실력이 아직 많~이 부족한 것을 느꼈고 ..
[CTF] UMDCTF 2021 writeup
2021. 4. 23. 00:39
Hacking/CTF
JUMP NOT IS EASY get_flag() 함수가 있어서 그리로 리턴하는 문제였다. JUMP NOT WORKING 64 bit rop 문제였다. bof 를 통해서 puts 주소를 leak 한 후, 다시 메인으로 돌아가 leak 한 주소를 통해 system, binsh의 실제 주소를 구해서 system(binsh) 로 구성한 페이로드를 다시 보내서 풀었다. 이 문제에서 알게된 점은 두 가지 정도인데, 하나는 libc 버전이 다 다르기 때문에 거기에 맞춰서 offset 을 구해야 한다는 것이다. 그래서 다음 사이트를 통해서 leak된 주소를 기반으로 libc database를 이용해서 libc를 구했다. libc.blukat.me/ libc database search Query show all li..
[Webhacking] 파일 업로드 취약점 실습
2021. 4. 22. 17:53
Hacking/Webhacking
실습 환경 : kali-linux-2021(공격자 pc) -> BeeBox 1) BeeBox : low set 우리가 입력한 명령을 system 함수를 통해 실행해주는 간단한 웹셀이다. 2) BeeBox : medium set 지금까지 파일업로드 취약점을 통해 웹서버 정보를 하나씩 획득해보았다면, 지금부터 데이터베이스 커넥션을 통해 데이터들을 하나씩 가져오는 실습을 진행해보겠다.
[Webhacking] 파일 업로드 취약점 공격
2021. 4. 22. 17:18
Hacking/Webhacking
파일 업로드 취약점 공격 웹 서비스 첨부 파일, 환경 설정 미흡을 이용하여 악의적인 스크립트가 포함된 파일을 업로드 한 후에 웹 서버에 침투를 하는 공격 공격자는 서버 사이드 스크립트(PHP, JSP, .NET 등)을 이용하여 웹쉘(WebShell)을 제작 웹쉘(WebShell)은 원격에서 웹 서버를 제어하기 위한 목적으로 만들어졌으나, 지금은 웹쉘 = 악성코드라고 분류를 하여 안티 바이러스에서 탐지함 게시판 첨부 파일, 이력서 첨부 파일, 이미지 첨부 파일, 웹 채팅방 파일 공유 기능 등에서 발생 직접 만들어 사용할 수 있으나, https://github.com/tennc/webshell 같은 깃허브에서 쉽게 구할 수 있음 파일 업로드 취약점 공격의 목적 1. 웹 서버를 통해 데이터베이스의 정보를 획득..