일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 네트워크
- webhacking.kr
- 웹해킹
- spring Batch
- Baekjoon
- 파이썬
- node.js
- 프로그래머스
- programmers
- 시스템 해킹
- Python
- Batch
- sequelize
- 리버싱
- 포너블
- hackctf
- gcp
- 회고
- nodejs
- gcp cloud build
- gcp ci/cd
- 보안
- 스프링 배치
- docker
- 백준
- 사이버보안
- pwnable.xyz
- kotest
- cloud run
- 웹보안
Archives
목록misalignment (1)
uju's Tech
Misalignment-write up
위에서 memset함수는 어떤 메모리의 시작점 부터 연속된 범위를 어떤 값으로 모두 지정하고 싶을 때 사용하는 함수이다. 따라서 1바이트마다 0으로 초기화하고 98바이트를 반환한다는 뜻이다. V5+7을 0xdeadbeef--->0xb000000b5 로 바꾸어주면 win함수 실행 7바이트를 더했고 리틀엔디안 방식으로 저장되었으므로 스택에 저장되는 구조를 생각해보면 이런식으로 쌓이는 것을 알 수 있다. 먼저 위에 진한 초록색 부분인 0xb500000000000000의 msb가 1이여서 음수라는 것을 알수있다. 이 경우 10진수는 0xb500000000000000의 보수+lsb에 1을 더해준 값이다. 보수표현으로 바꾸어주면 위의 사진과 같이 표현할 수 있다. 위의 사진에서 lsb에 1을 더해주면 0x4b000..
Security/pwnable.xyz
2020. 6. 13. 03:25