본문 바로가기
Pwnable

[pwnable] swing_pwn_chall

by sseddi 2021. 4. 28.
728x90

먼저 문제 파일을 다운 받고 ls -al로 권한을 확인했다.

swing_pwn_chall에 실행권한이 없어서 실행권한을 부여해주었다.

 

그리고 실행시켜 보니까 두 수의 덧셈 결과를 입력하라는 창이 계속 나왔다.

소스코드를 확인해보자

소스코드를 보니까 20번 반복 후에 모두 맞으면 flag가 뜨는 것 같다. 

그래서 이 문제를 풀기 위해 solve.py를 만들어보려고 한다.

(근데 우분투에 vi 편집기가 말썽이라 칼리로 가서 풀어보았다.)

시도했던 코드들..

결국 이 코드로 성공할 수 있었다.

 

p.recvuntil(':')로 계산해야 하는 숫자 앞인 :까지 가고

a = p.recvuntil('+')[:-1]로 +앞까지 가서 첫 번째 숫자를 읽어 a에 저장한다. 이때 [:-1]은 p.recvuntil('+')만 하면 읽어야하는 숫자 이외에 +까지 읽어버리기 때문에 +앞까지만 읽기 위해서 넣어준다.

b = p.recvuntil('=')[:-1]로 =앞까지 가서 두 번째 숫자를 읽어 b에 저장한다.

result에 두 숫자의 덧셈 결과를 저장하고

p.sendline(str(result))으로 계산한 답을 프로그램에 입력한다.

 

solve.py를 실행했더니 이렇게 성공메시지가 뜨는 것을 확인할 수 있었다.

 

그래서 성공코드를 가지고 우분투에서도 시도해봤다.

 

 

근데 이렇게 자꾸 오류가 뜨는데

pwntools 다운받을 때도 오류가 떠서 아마 pwntools가 제대로 다운이 안된 것 같다.

관련해서 많이 자료 찾아보고 시도했지만 해결되지 않았다.

 

 

 

+) shshsh.tistory.com/168?category=612438

 

파이썬3(python3) pip 오류 해결 방법

파이썬3 pip 업그레이드 시 발생하는 오류 해결 방법은 다음과 같다. 사용 환경은 Ubuntu 16.04 입니다. $ python3 -m pip install --upgrade pip Traceback (most recent call last): File "/usr/lib/python3.5/r..

shshsh.tistory.com

기장님이 공유해주신 링크로 pip 관련 오류는 해결되었지만, Solve.py 실행 시 ImportError은 계속 일어난다.

 

 

Solve.py 전에 python3도 같이 써봤는데도 같은 오류가 발생했다.

pip list로 확인해봤더니 pip은 잘 설치되었는데 pwntools가 없어 다시 pwntools 다운받아 주었더니 해결할 수 있었다.

 

성공!

728x90

'Pwnable' 카테고리의 다른 글

[pwnable.kr] bof  (0) 2021.05.18
[Pwnable] GDB로 코드 분석  (0) 2021.05.11
[Pwnable] GDB 사용방법 정리  (0) 2021.05.11
[pwnable.kr] collision  (0) 2021.05.05
[Pwnable] 리눅스 메모리 구조  (0) 2021.03.31

댓글