일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gcp ci/cd
- 보안
- 회고
- kotest
- gcp
- 웹보안
- 사이버보안
- cloud run
- gcp cloud build
- spring Batch
- node.js
- 시스템 해킹
- Baekjoon
- nodejs
- Python
- 리버싱
- docker
- 프로그래머스
- 포너블
- 파이썬
- 스프링 배치
- pwnable.xyz
- Batch
- hackctf
- 백준
- programmers
- sequelize
- 웹해킹
- 네트워크
- webhacking.kr
목록리버싱 (3)
uju's Tech
파일 확인 해보니 elf 64 비트 실행 파일 임을 알았다. chmod 777 권한을 부여하여 실행해보자! 실행 실행해보니 input을 받고 그에따라 값을 내보내는것 같다. 그렇다면 조건문에서 내 input과 어떠한 값을 확인하고 분기하여 값을 출력함을 알 수 있다. 먼저 디버깅을 해보자~! main 디버깅 strcmp비교해서 분기 strcmp에서 비교 후 분기하는것을 확인할 수 있다. 브레이크 포인트를 main+185에 걸어주자1 r 으로 실행! 실행화면 내가 입력한 dddddd와 비교하는 값을 레지스터를 통해 확인하였다. 레지스터 확인 얼핏 보니 OfdlDSA|3tXb32~X3tX@sX`4tXtz 랑 비교를 해서 같으면 good game을 출력해준다. goodgame! 그렇다면 여기서 우리는 비교하는..
https://uju-tech.tistory.com/25 위 링크에 대한 쉽게 푸는 풀이이다.. 정공법(???) 으로 푼 풀이..?이고 이번에는 약간 쉽게가자!풀이입니다! main함수 main함수를 확인해보면 이 부분에서 1이어서 0과 비교했을 때 같지 않아서 flag를 뛰어넘었습니다!! 라는 문구가 띄워진다.. 그렇다면 저 1을 0으로 바꾸면?? 바로 flag가 출력될것이다!! 그럼 ida에서 바꿔서 flag를 바로 띄워보잣!! ida에서 값을 바꾸고 fetch한다음 실행할 것이다. 바꿀 값에서 오른쪽 마우스를 눌러 synchronise with hex view를 누르자. hexview클릭! 그리고 hexview로 이동! 이동하면 해당 변수의 부분이 초록색으로 나타내준다. 수정 후 모습 수정을 하려면 ..
먼저 실행 파일을 다운 받자..! 우분투에서 먼저 파일 포맷을 확인해보자! 파일 확인 elf 64bit 실행파일임을 확인했다. 실행을 위해 777권한 부여!! 이제 실행해 보자 실행! 근데 ... flag를 뛰어넘었습니다 라는 문구가 나오면서 끝난다.. 그렇다면 ida로 파일을 살펴보자..!! ida 음 flag is %s 를 보면 string값을 가져와서 출력하는 것을 알 수있다. 그 string을 받아오는 곳이 loc_400544이다. 이 부분을 중심으로 살펴보자..! 함수를 보면 string과 array라는 2개의 배열이 있고 2개의 배열에 값을 더해준다,,string과 arryay를 더블 클릭해보니 data영역 뿅 하고 데이터 저장되어 있는 부분이 나온다,, 위의 사진은 array! 위의 사진은 ..