일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 칼리리눅스
- SQLINJECTION
- 내부침투
- 스캐닝
- 해킹도구
- Hacking
- 해킹
- 모의해킹
- 해킹툴
- web hacking
- Samba
- 포트스캔
- 침투테스트
- 시스템 해킹
- 권한상승
- smb
- load of sqlinjection
- Metasploit
- SQL Injection
- 취약점
- Los
- 스캔
- 메타스플로잇
- sql
- 취약점분석
- root권한
- CTF
- 암호해독
- Kioptrix
- 취약점 스캔
- Today
- Total
목록protostar/heap (3)
감자 텃밭
이번에는 protostar에 heap2 문제이다. 해당 문제는 uaf기초에 관한 문제인 거 같았다, 일단 해당 프로그램을 실행시켜보았다. 해당 프로그램을 실행시켰을 때 auth와 service에 각각 값을 입력할 수 있고 입력했다면 해당 변수가 저장되어있는 주소를 알려주는 거 같다. 해당 프로그램의 c코드가 주어져 확인해보았다. 해당 코드를 봤을때는 fgets를 통해 입력값 검증을 통해 입력을 받기에 bof는 일어나지 않는다 또한 auth에도 입력값 검증을 통해 입력을 받고 auth에 malloc를 통해 메모리를 할당받는다. 그 후 입력값을 auth->name변수에 복사한다 그 후 다음 if문을 보면 free를 통해 해당 malloc를 통해 할당받은 메모리를 reset를 입력하면 free로 정리하는 모습..
이번에는 프로토스타의 heap1번 문제이다 이번 문제는 heap0번 문제보다 수준이 높아 보였다. malloc와 포인터에 대해 좀 더 상세히 살펴봐야했다. 일단 해당 문제의 소스코드는 아래와 같다. internet라는 구조체를 만들며 int형 priority와 char형 포인터 변수 name을 선언했다 또한 winner함수가 존재하며 main함수에는 구조체 포인터 i1, i2, i3를 선언하고 i1, i2에 각각 internet의 크기만큼 메모리를 할당해주고 있다 또한 priority에 1을 할당하고 name에는 또 8만큼의 메모리를 할당해주고 있다. 그 후 strcpy를 통해 i1포인터 구조체의 name변수에 argv [1]을 할당하고 그다음 strcpy함수에 의해 i2포인터 구조체의 name변수에 a..
이번에는 프로토스타에 heap0문제를 풀어보았다 힙에 대한 기본적인 지식을 요구하기에 heap에 대해 잘 몰랐지만 생각보다 재밌었던 문제이다. 기본적인 heap overflow문제인것 같았다. 일단 해당 프로그램의 소스코드를 보면 data와 fp 구조체를 선언하고 d와 p에 각각 data와 fp의 포인터를 선언한다 그 후 malloc를 통해 동적으로 메모리를 할당시킨다. 그 외에 winner와 nowinner라는 문자열을 출력해주는 함수가 있고 f->fp를 통해 nowinner함수를 fp구조체에 할당해주는 거 같다. 그 후 strcpy함수를 통해 d->name 즉 구조체 포인터 d에 argcv [1]의 값을 복사한다. 이 부분에서 bof 가 일어나는 듯하다. 그 후 fp구조체의 fp함수 포인터의 함수를 ..