This commit is contained in:
Miroslav Stampar
2019-02-07 17:33:16 +01:00
parent 0a42d91934
commit ab32ad4f48
4 changed files with 26 additions and 9 deletions

View File

@@ -2994,16 +2994,21 @@ def parseSqliteTableSchema(value):
Parses table column names and types from specified SQLite table schema
"""
retVal = False
if value:
table = {}
columns = {}
for match in re.finditer(r"(\w+)[\"'`]?\s+(INT|INTEGER|TINYINT|SMALLINT|MEDIUMINT|BIGINT|UNSIGNED BIG INT|INT2|INT8|INTEGER|CHARACTER|VARCHAR|VARYING CHARACTER|NCHAR|NATIVE CHARACTER|NVARCHAR|TEXT|CLOB|LONGTEXT|BLOB|NONE|REAL|DOUBLE|DOUBLE PRECISION|FLOAT|REAL|NUMERIC|DECIMAL|BOOLEAN|DATE|DATETIME|NUMERIC)\b", value, re.I):
retVal = True
columns[match.group(1)] = match.group(2)
table[conf.tbl] = columns
table[safeSQLIdentificatorNaming(conf.tbl, True)] = columns
kb.data.cachedColumns[conf.db] = table
return retVal
def getTechniqueData(technique=None):
"""
Returns injection data for technique specified