일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- splunk db connect
- Path Traversal
- Session Manager
- 메타코드
- 정처기 필기
- 보안 그룹
- web security academy
- 정처기필기
- systems manager
- web3
- amazon s3 트리거
- ELB
- File Upload
- aws 트리거
- 오블완
- AWS SSM
- web shell
- 탈중앙화
- 블록체인
- web3 보안
- 정처기
- metacode
- 스마트컨트랙트
- metacodem
- AWS CLI
- 티스토리챌린지
- aws lambda
- 스마트 컨트랙트
- 메타코드M
- 정보처리기사
- Today
- Total
min8282
[취약점분석] 시스템 해킹 실습 7일차..... 본문
1. Dangling pointer 생성
2. 재할당
3. 기능 호출
- AAW
setString : 문자열을 read로 입력 받음
setNum : 정수를 scanf("%ld")로 입력 받음. ld = 10진수 ^^^^
- elf.sym["flag"] -> python 숫자 문자열
- str()로 감싸주면 됨. <- python str
- .encode() <- python bytes
delete에서 삭제는 시키지만 초기화를 시키지 않아서 seg error 발생
Race Condition
공유 자원에 동시 접근해서 나타난 취약점?
race_condition.c 실습
216~230 소켓에 대한 설정.
connection_handler 함수부터 분석 시작
python thread != c thread
python multiprocessing 검색 후 알아보고 해야 함.
실행하고
새로운 터미널 nc 0 8888
.c 분석)
목표)
*balance >= 50000
Create account : 새로운 계정 생성
Use coupon : 계정의 쿠폰 사용
파이선 익스를 짤 때, 멀티프로세싱 모듈 사용
exploit 코드 작성 전 구조 짜기)
- 새로운 Account 생성 -> 인덱스 0
- Account[0]의 쿠폰 사용
- coupon[0] ~ coupon[4] 까지 반복
ㅇㅅㅇ?
1. 모든 프로세스를 미리 생성
2. 동시에 작업 수행
----
이전 bof 정리)
- BOF 가 있으니까 RET 변조 가능
- BOF->RET을 바이너리 내 함수 주소로 변경
- Shell Code
- 셸코드로 점프
----카나리
Canary : buf와 sfp 사이에 검증용 데이터 삽입 및 검사하는 보호기법
우회 방법 : Canary 값을 알아내고, 동일한 값으로 덮어쓰기
----GOT
1. scanf@got 를 libc_system의 주소로 변경
-> sacnf("%s", ~~)
2. scanf@got를 system@plt의 주소로 변경
GOT Overwrite 공격 기법)
1. GOT에 호출하고자 하는 주소 를 입력 (ex. scanf@got에 0x414141)
2. 변조한 함수를 호출(ex. call sacnf@plt)
-> 실제 scanf 대신 변조한 주소가 실행(ex. RIP = 0x414141)
puts@got 를 system@plt 로 변조
puts 호출 -> puts@plt(코드) 실행 -> puts@got(주소) 참조 -> system@plt 호출 -> system@ ??
----RTL
Return to Library
-> NX는 있고, get_shell은 없을 때 사용.
BOF -> RET p64(libc_system)
아니 one_gadget이 뭔데요....
rtl, rtl.c 분석 및 익스)
libc_base = libc_printf - printf_offset
libc_one = libc_base + {one_gadget 오프셋}
레지스터 조건에 맞는 or 맞춰줄 수 있는 가젯을 사용
카나리, got 실습 화면 추가
'K-Shield.Jr' 카테고리의 다른 글
[취약점분석] 7/26 - 1 Day 실습 시작. (0) | 2024.07.26 |
---|---|
[취약점분석] heap, UAF 맛보기- 시스템 해킹 실습 6일차 (1) | 2024.07.23 |
[취약점분석] BOF2, Advanced BOF - 7/22 실습 5일차 (0) | 2024.07.22 |
[취약점분석] BOF(시스템 해킹 실습 4일차) (0) | 2024.07.20 |
[취약점분석] Type Confusion, Format String Bug(시스템 해킹 실습 3일차) (0) | 2024.07.18 |