diff --git a/bin/modules/Exif.py b/bin/modules/Exif.py index 352de549..821e1ccb 100755 --- a/bin/modules/Exif.py +++ b/bin/modules/Exif.py @@ -12,7 +12,7 @@ The Exif Module import os import sys -from PIL import Image, ExifTags +from PIL import Image, ExifTags, UnidentifiedImageError sys.path.append(os.environ['AIL_BIN']) ################################## @@ -38,22 +38,25 @@ class Exif(AbstractModule): def compute(self, message): image = self.get_obj() print(image) - img = Image.open(image.get_filepath()) - img_exif = img.getexif() - print(img_exif) - if img_exif: - self.logger.critical(f'Exif: {self.get_obj().id}') - gps = img_exif.get(34853) - print(gps) - self.logger.critical(f'gps: {gps}') - for key, val in img_exif.items(): - if key in ExifTags.TAGS: - print(f'{ExifTags.TAGS[key]}:{val}') - self.logger.critical(f'{ExifTags.TAGS[key]}:{val}') - else: - print(f'{key}:{val}') - self.logger.critical(f'{key}:{val}') - sys.exit(0) + try: + img = Image.open(image.get_filepath()) + img_exif = img.getexif() + print(img_exif) + if img_exif: + self.logger.critical(f'Exif: {self.get_obj().id}') + gps = img_exif.get(34853) + print(gps) + self.logger.critical(f'gps: {gps}') + for key, val in img_exif.items(): + if key in ExifTags.TAGS: + print(f'{ExifTags.TAGS[key]}:{val}') + self.logger.critical(f'{ExifTags.TAGS[key]}:{val}') + else: + print(f'{key}:{val}') + self.logger.critical(f'{key}:{val}') + sys.exit(0) + except UnidentifiedImageError: + self.logger.info(f'Invalid image: {image.get_filepath()}') # tag = 'infoleak:automatic-detection="cve"' # Send to Tags Queue