티스토리 뷰

pwnable

python을 통한 인자전달

Cand0 2019. 1. 23. 11:19

처음 pwnable.kr 문제를 풀며 가장 문제점이 됐던 것은 해당하는 값을 어떻게 전달하냐는 것 이였습니다.

어떻게 풀지는 알겠는데 값을 전달할줄 몰라 한참 해맨적도 있었고요....


!!!이 자료는 정확하지 않습니다. 이 외의 많은 방법으로 값을 입력할 수 있으며 이번 포스팅은 그중 극히 일부입니다.!!!


먼저 python을 이용하여 제가 입력한 값이 소스코드에 알맞게 들어갔는지 확인하기위해 C언어로 테스트 소스를 작성해보겠습니다.

테스트 소스


이 소스파일을 gcc를 이용하여 컴파일 후 테스트 하겠습니다.

(argc와 scanf에 인자를 전달하는 방법은 다릅니다.)



가장 먼저 python -c 를 통해 두개의 입력값을 입력하고자 할 때 잘 되지 않았습니다.

argc에만 입력값이 들어가는 모습.

scanf에 값을 입력하기 위해서는 어떻게 해야할지 몰라 한참 해매던중 답을 찾았습니다.

script를 짜서 파일에 집어 넣는 방법이였습니다.


스크립트 파일(testpython.py)


로 하게되면 test1과 test2에 원하는 값이 들어간것을 확인하실 수 있습니다.


하지만 만약 파일을 생성할 수 없는 경우에는 어떻게할까요?


그 것을 해결하기 위해서는 다음과 같이 해결 할  수 있습니다.


이를 응용을 하면 다음과 같이 for문을 통해서도 입력이 가능합니다.


'pwnable' 카테고리의 다른 글

버퍼 오버플로(1)  (0) 2019.01.11
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
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
글 보관함