Hey Greg,

I wasn't particularly trying to actually generate that large amount of
strings in memory, I wa purposely trying to overflow the integer variable
"nelem"hoping to get Code Execution. This could potentially be a security
risk as shell shock was just more of a denial of service rather than
straight up code execution. However, just because I wasn't able to gain
control of the registers doesn't mean someone else with more skill can't.

On Monday, August 17, 2015, Greg Wooledge <wool...@eeg.ccf.org> wrote:

> On Sat, Aug 15, 2015 at 08:53:55PM -0700, Pasha K wrote:
> > (gdb) r -c "for x in {1..9223372036854775805}; do echo overflow; done"
>
> Brace expansion requires bash to generate and store ALL of those strings
> in memory simultaneously.  I seriously doubt any computer on earth has
> enough virtual memory to hold what you've asked for here.  (Unless I'm
> miscounting, you've asked bash to generate over 900 quintillion strings
> of length varying from 1 to 19 bytes in length (2 to 20 with NULs).)
>
> If you want to count to a large number, use a C-style for loop instead
> of a brace expansion.
>
> for ((x=1; x<=9000000000; x++)); do ...; done
>

Reply via email to