Cleans cookies from a given cookie jar
(cookieJar)
| 5081 | return retVal |
| 5082 | |
| 5083 | def resetCookieJar(cookieJar): |
| 5084 | """ |
| 5085 | Cleans cookies from a given cookie jar |
| 5086 | """ |
| 5087 | |
| 5088 | if not conf.loadCookies: |
| 5089 | cookieJar.clear() |
| 5090 | else: |
| 5091 | try: |
| 5092 | if not cookieJar.filename: |
| 5093 | infoMsg = "loading cookies from '%s'" % conf.loadCookies |
| 5094 | logger.info(infoMsg) |
| 5095 | |
| 5096 | content = readCachedFileContent(conf.loadCookies) |
| 5097 | content = re.sub("(?im)^#httpOnly_", "", content) |
| 5098 | lines = filterNone(line.strip() for line in content.split("\n") if not line.startswith('#')) |
| 5099 | handle, filename = tempfile.mkstemp(prefix=MKSTEMP_PREFIX.COOKIE_JAR) |
| 5100 | os.close(handle) |
| 5101 | |
| 5102 | # Reference: http://www.hashbangcode.com/blog/netscape-http-cooke-file-parser-php-584.html |
| 5103 | with openFile(filename, "w+b") as f: |
| 5104 | f.write("%s\n" % NETSCAPE_FORMAT_HEADER_COOKIES) |
| 5105 | for line in lines: |
| 5106 | _ = line.split("\t") |
| 5107 | if len(_) == 7: |
| 5108 | _[4] = FORCE_COOKIE_EXPIRATION_TIME |
| 5109 | f.write("\n%s" % "\t".join(_)) |
| 5110 | |
| 5111 | cookieJar.filename = filename |
| 5112 | |
| 5113 | cookieJar.load(cookieJar.filename, ignore_expires=True) |
| 5114 | |
| 5115 | for cookie in cookieJar: |
| 5116 | if getattr(cookie, "expires", MAX_INT) < time.time(): |
| 5117 | warnMsg = "cookie '%s' has expired" % cookie |
| 5118 | singleTimeWarnMessage(warnMsg) |
| 5119 | |
| 5120 | cookieJar.clear_expired_cookies() |
| 5121 | |
| 5122 | if not cookieJar._cookies: |
| 5123 | errMsg = "no valid cookies found" |
| 5124 | raise SqlmapGenericException(errMsg) |
| 5125 | |
| 5126 | except Exception as ex: |
| 5127 | errMsg = "there was a problem loading " |
| 5128 | errMsg += "cookies file ('%s')" % re.sub(r"(cookies) file '[^']+'", r"\g<1>", getSafeExString(ex)) |
| 5129 | raise SqlmapGenericException(errMsg) |
| 5130 | |
| 5131 | def decloakToTemp(filename): |
| 5132 | """ |
no test coverage detected
searching dependent graphs…