Sploitus

Exploit for CVE-2017-8291

kitploit ┬╖ 2026-08-27

Exploit Code

MARKDOWN35 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-SHUN1403-CVE-2017-8291
# Python PIL/Pillow рд░рд┐рдореЛрдЯ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрди (GhostButt / CVE-2017-8291)

рдЪреАрдиреА рд╕рдВрд╕реНрдХрд░рдг

Python PIL (Pillow) Python рдХреЗ рд▓рд┐рдП рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдЗрдореЗрдЬ рдлреЙрд░реНрдореЗрдЯреНрд╕ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЗрдореЗрдЬ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рдХреНрд╖рдорддрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

Python рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЙрдбреНрдпреВрд▓ PIL (Pillow) GhostButt рднреЗрджреНрдпрддрд╛ (CVE-2017-8291) рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ EPS рдЗрдореЗрдЬ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ GhostScript рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рднреЗрджреНрдпрддрд╛ рд╣рдорд▓рд╛рд╡рд░реЛрдВ рдХреЛ рд▓рдХреНрд╖рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдордирдорд╛рдирд╛ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

рдЬрдм PIL рдХрд┐рд╕реА рдЗрдореЗрдЬ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╣реЗрдбрд░ (Magic Bytes) рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрдореЗрдЬ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдПрдХ EPS рдлрд╝рд╛рдЗрд▓ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рддрд╛ рд╣реИ (рд╣реЗрдбрд░ `%!PS` рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ), рддреЛ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП `PIL/EpsImagePlugin.py` рдХреЛ рд╕реМрдВрдк рджреЗрддрд╛ рд╣реИред

рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ, PIL рдЗрдореЗрдЬ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдХреЗ GhostScript рдХрдорд╛рдВрдб (`gs`) рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ:

root@kitploit:~
    
    
    command = ["gs",
                "-q",                         # quiet mode
                "-g%dx%d" % size,             # set output geometry (pixels)
                "-r%fx%f" % res,              # set input DPI (dots per inch)
                "-dBATCH",                    # exit after processing
                "-dNOPAUSE",                  # don't pause between pages,
                "-dSAFER",                    # safe mode
                "-sDEVICE=ppmraw",            # ppm driver
                "-sOutputFile=%s" % outfile,  # output file
                "-c", "%d %d translate" % (-bbox[0], -bbox[1]),
                                                # adjust for image origin
                "-f", infile,                 # input file
                ]
    
    # Code to check if GhostScript is installed is omitted
    try:
        with open(os.devnull, 'w+b') as devnull:
            subprocess.check_call(command, stdin=devnull, stdout=devnull)
        im = Image.open(outfile)