Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 해킹
- Metasploit
- 취약점
- 암호해독
- 취약점분석
- Samba
- 취약점 스캔
- 포트스캔
- smb
- Los
- 해킹도구
- CTF
- SQLINJECTION
- 칼리리눅스
- 침투테스트
- SQL Injection
- 스캔
- web hacking
- load of sqlinjection
- 모의해킹
- 스캐닝
- 시스템 해킹
- 권한상승
- sql
- 내부침투
- root권한
- Kioptrix
- 해킹툴
- 메타스플로잇
- Hacking
Archives
- Today
- Total
감자 텃밭
[pwnkr] - mistake 본문
해당 문제와 함께 제공되는 소스코드는 아래와 같다.
해당 코드를 살펴보면 해당 코드에서의 취약점은 개발자의 연산자 우선순위 선정 실패로 일어난다
첫 번째 if문을 보면 fd=open을 통해 password파일을 읽기 전용으로 0400 권한을 준 후 < 0으로 비교하는 거 같지만
연산자의 우선순위는 =연산자보다 <연산자가 우선적으로 실행된다. 그러므로 0이 반환되어 fd에는 0(표준 입력)이 들어간다. 그 후 두 번째 if문에서 pw_buf변수에 pwn_len+1 즉 11만큼 입력을 받는다. 그 후 똑같은 크기만큼 pw_buf2에 값을 입력받고 xor함수로 xor연산을 한다 그리고 마지막 조건문에서 두 변수의 값이 같을 경우 플래그를 획득한다
즉 pw_buf2값을 전부 1로주면 1과 1을 xor 연산하기에 0이 반환되고 pw_buf변수에 0을 넣어주면 두 변수의 값이 같아지므로 플래그가 획득된다.
# xor = 반드시 1과 0이어야 1을 반환 ex) 1 1 안됨 00 안됨 1 0 됨
위와 같이 입력하면 플래그획득이 가능하다.
'my_study > pwn.kr' 카테고리의 다른 글
[pwnkr] - shellshock (0) | 2021.09.04 |
---|---|
[pwnkr] - input문제 (0) | 2021.09.01 |
[pwnkr] - random (0) | 2021.09.01 |
[pwnkr] - passcode (0) | 2021.09.01 |
[pwnkr] - flag (0) | 2021.09.01 |