2

I wanted to experiment with the NOP SLED technique. I got the sled and the shellcode into an environment variable and I got its address.
So i wanted to execute the vulnerable program and as an argument use this address repeated, the problem is that it contain 0s (zeros): 0x00007fffffffe550

./program_vuln $(perl -e 'print "\x50\xe5\xff\xff\xff\x7f\x00\x00"')

Perl does not print the zeroes and the addressing in the stack became so messed up.

6
  • 1
    This appears to be a perl use question and not an InfoSec question.
    – schroeder
    Aug 9, 2015 at 19:19
  • 1
    perl used in infoSec :)
    – java_noob
    Aug 9, 2015 at 19:20
  • But a perl expert with 0 knowledge of InfoSec could also answer this question, no?
    – schroeder
    Aug 9, 2015 at 19:24
  • While the application is InfoSec, the underlying problem is not an InfoSec problem - it's a Perl problem. Aug 9, 2015 at 19:24
  • Are you sure this belongs on Super User? This sort of question is about programming and it likely belongs on Stack Overflow instead.
    – bwDraco
    Aug 9, 2015 at 19:27

1 Answer 1

1

This is not a problem with perl because it is obviously printing the 0x00:

perl -e 'print "\x50\xe5\xff\xff\xff\x7f\x00\x00"' | hd
00000000  50 e5 ff ff ff 7f 00 00                           |P.......|
00000008
1
  • What worked like a charm here? The stack isn't messed up anymore?
    – ott--
    Aug 9, 2015 at 20:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .