Python, Perl BufferOverflow 인자 전달 명령어

Haruster·2022년 11월 28일
0

> 프로그램에서 인자를 전달받는 방법에는 2개의 방법이 있으며, 이는 아래와 같습니다.

1. 프로그램 실행시에 동시에 입력받는 argv[]를 사용하는 방법
2. 코드내에서 gets나 scanf를 이용하여 인자를 전달받는 방법이 있습니다.

> 아래에서는 128개의 A와 0xdeadbeef의 인자를 haruster라는 프로그램에 전달한다고 가정을 하여 명령어를 작성해보겠습니다.

> 프로그램 실행시 인자 전달 방법 (argv) 

* Python

$ ./haruster $(python -c 'print "A" * 128 + "\xef\xbe\xad\xde"')

* Perl

$ ./haruster $(perl -e 'print "A" * 128 + "\xef\xbe\xad\xde"')

> 프로그램 실행 후 인자 전달 방법 (gets, scanf 등)

* Python

$ (python -c 'print "A" * 128 + \xef\xbe\xad\xde"' ;cat) | ./haruster

* Perl

$ (perl -e 'print "A" * 128 + "\xef\xbe\xad\xde"' ;cat) | ./haruster

profile
다양한 스택을 공부하는 정보보안 전문가 지망생입니다. (Pwnable, Reversing, Webhacking, ...)

0개의 댓글