일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 취약점
- 메타스플로잇
- 취약점 스캔
- load of sqlinjection
- 해킹도구
- 스캐닝
- CTF
- 모의해킹
- 내부침투
- 스캔
- 권한상승
- Kioptrix
- 시스템 해킹
- root권한
- 포트스캔
- 해킹
- 취약점분석
- Samba
- SQLINJECTION
- 칼리리눅스
- Los
- SQL Injection
- 침투테스트
- Metasploit
- Hacking
- smb
- web hacking
- 암호해독
- sql
- 해킹툴
- Today
- Total
목록my_study/HackCTF (22)
감자 텃밭
해당문제의 프로그램을 실행시켜보자 데이터를 입력받고 입력받은 데이터와 해당 데이터가 들어가있는 buf의 주소를 출력 해주며, 다시 입력할것인지 묻고 다시 입력을 받을 수 있다. 하지만 프로그램을 다시 시작하면 주소가 바뀌는걸로 봐서 이번문제도 ASLR기법이 적용되어 있는 거 같다. 다른것들도 적용되어있는지 확인해보자. 이번 문제도 ASLR을 제외한 메모리 보호기법은 적용되어있지 않는 거 같다. 이번 문제도 이전 문제와 비슷한 방식으로 풀면 될 거 같다. 일단 버퍼의 주소는 나와있으니 크기를 구해보자. 61번줄에서 data :를 입력받고 ebp-0x88위치의 주소를 eax에 넣고 인자값으로받아서 입력하는 거 같다 그렇다면 크기는 0x88(136)이 된다. 그렇다면 payload를 한번 작성해 보자. 해당 ..
HackCTF의 Simple_szie_bof문제 우선 해당 프로그램을 실행시켜보았다. 시빅 - 자살방지 문제입니다.라는 문구가 출력되고 buf의 주소가 출력되는 듯하다 하지만 프로그램을 실행시킬 때마다. 버퍼의 주소가 계속 바뀌는 걸 볼 수 있다. ASLR기법이 적용되어있는 거 같다. 확인해보자! 음.. 일단 ASLR을 제외한 다른 보호 기법들은 적용되어 있지 않는 거 같다..! 예상했듯 문자열 출력 후 buf의 주소를 출력해주는 함수이다. 91번 줄을 보면 gets함수가 있다 그렇다면 gets를 이용하여 버퍼오버플로우를 일으켜 해결할 수 있을 거 같다. 일단 버퍼오버플로우를 일으키기 위해 필요한 버퍼의 크기는 0x6d30으로 27952 크기이다 그럼 여기에 sfp(8)를 더해 dummy값과 쉘 코드를 ..
HackeCTF 64bof_basic 문제 해당 프로그램을 실행시켰을때는 특정값을 입력받고 입력을 받으면 Hello [입력받은 값]이 출력 된다. 메모리 보호기법이 어떤것들이 작동하고있는지 먼저 확인해보았다 RELRO와 NX가 걸려있다 RELRO는 자세히모르고.. NX가 걸려있는걸로 봐서는 쉘코드를 실행시킬 수 없는 거 같다. 해당문제를 gdb로 확인해보았다. 흠.. 특별한거는 딱히 없는 거 같다 스택의공간을 0x120(288)만큼 확보 후 입력을 받고 출력을하는?거 같다 그리하여 숨겨진 함수가 있는지 확인해보았다. callMeMaybe라는 수상한 함수를 찾았다. 해당 함수를 확인해보았을떄 /bin/bash를 인자값으로 받아오는 걸 보니 대충 쉘을 실행시켜주는 프로그램인 거 같다 그렇다면 돌아가서 메인함..
HackCTF 내 버퍼가 흘러넘친다!! 이번 문제의 프로그램을 동작을 확인하기 위해 실행시켜보면 name과 input에서 입력을 받는 프로그램이다. 흠.. 일단 gdb로 까 보자 해당 프로그램을 대충 분석해보면 0x14(20byte)의 공간을 스택에 할당하고 read함수와 gets함수로 입력을 받는다 read함수로 입력받는 값은 name변수로 전역 변수임을 알 수 있다 그렇다는 건 스택이아닌 bss영역에 존재한다. 또한 gets에서 버퍼오버플로우를 일으킬 수 있다. 그렇다는건 name변수에 쉘 코드를 삽입하고 input입력값 0x14(20)+sfp(4)를 dummy값으로 채운 후 ret에 name변수의 주소를 삽입하면 될 거 같다. 그럼 이제 payload를 작성하자 이번에는 쉘 코드 대신 pwntool..
HackCTF의 Basic_BOF#2번째 문제 해당 프로그램의 동작을 확인하기 위해 실행시켰더니 무언가 입력을 받기를 기다리고 있었다. 임의의 값을 입력했더니..? 하아아아아아앙???.... 흠 마음에 드는 프로그램이군!! 일단 무언가를 입력하면 하아아아아아앙을 출력하는 거 같다 gdb를 이용하여 분석해보자 훔... 별 내용은 없는 거 같다 SUP 함수가 있고 그저 출력해주는 함수이다. 위의 메인코드로 특정값을 입력하면 SUP함수가 실행되어 하아아아아앙이 실행된다. 흠... 이 함수 말고 다른 함수가 숨겨져 있는지 확인해보았다 역시나 의심스러운 shell함수를 발견하였다 이를 확인해보았더니 역시나 시스템 함수를 통해 쉘을 실행시켜주는 함수였다. 그럼 모든 건 해결됐다 ebp-0xc위치에 sup함수의 주소..
HackCTF의 포 너블 문제 Basic_BOF#1 문제 해당 파일의 동작을 확인하기 위해 실행시켜보았는데 실행시켰을 때 무언가를 입력받기를 기다렸다 입력했을 시 버퍼에 저장하고 해당 버퍼의 주소를 나타낸다고 추측하였다. gdb를 이용해서 분석을 시도해보자!! 흠... 분석을 해보면 일단 처음 ebp-0xc위치에 4030201을 넣고 34번 줄에서 ebp-0x34의 주소를 eax에 넣은 후 fgets의 인자 값으로 받는 걸 볼 수 있다. 또한 86,95,120번 줄에서 비교를 한다 만약 ebp-0xc위치에 deadbeef문자열이 있을 경우 153번의 시스템 함수를 실행시키며 그렇지 않을 경우 177번으로 이동하여 해당 프로그램이 종료된다. 이로서 대충 0x34에서 입력을 받아 fgets의 입력값 인증 취..