1# 2# AFL dictionary for SQL 3# ---------------------- 4# 5# Modeled based on SQLite documentation, contains some number of SQLite 6# extensions. Other dialects of SQL may benefit from customized dictionaries. 7# 8# If you append @1 to the file name when loading this dictionary, afl-fuzz 9# will also additionally load a selection of pragma keywords that are very 10# specific to SQLite (and are probably less interesting from the security 11# standpoint, because they are usually not allowed in non-privileged 12# contexts). 13# 14# Created by Michal Zalewski 15# 16 17function_abs=" abs(1)" 18function_avg=" avg(1)" 19function_changes=" changes()" 20function_char=" char(1)" 21function_coalesce=" coalesce(1,1)" 22function_count=" count(1)" 23function_date=" date(1,1,1)" 24function_datetime=" datetime(1,1,1)" 25function_decimal=" decimal(1,1)" 26function_glob=" glob(1,1)" 27function_group_concat=" group_concat(1,1)" 28function_hex=" hex(1)" 29function_ifnull=" ifnull(1,1)" 30function_instr=" instr(1,1)" 31function_julianday=" julianday(1,1,1)" 32function_last_insert_rowid=" last_insert_rowid()" 33function_length=" length(1)" 34function_like=" like(1,1)" 35function_likelihood=" likelihood(1,1)" 36function_likely=" likely(1)" 37function_load_extension=" load_extension(1,1)" 38function_lower=" lower(1)" 39function_ltrim=" ltrim(1,1)" 40function_max=" max(1,1)" 41function_min=" min(1,1)" 42function_nullif=" nullif(1,1)" 43function_printf=" printf(1,1)" 44function_quote=" quote(1)" 45function_random=" random()" 46function_randomblob=" randomblob(1)" 47function_replace=" replace(1,1,1)" 48function_round=" round(1,1)" 49function_rtrim=" rtrim(1,1)" 50function_soundex=" soundex(1)" 51function_sqlite_compileoption_get=" sqlite_compileoption_get(1)" 52function_sqlite_compileoption_used=" sqlite_compileoption_used(1)" 53function_sqlite_source_id=" sqlite_source_id()" 54function_sqlite_version=" sqlite_version()" 55function_strftime=" strftime(1,1,1,1)" 56function_substr=" substr(1,1,1)" 57function_sum=" sum(1)" 58function_time=" time(1,1,1)" 59function_total=" total(1)" 60function_total_changes=" total_changes()" 61function_trim=" trim(1,1)" 62function_typeof=" typeof(1)" 63function_unicode=" unicode(1)" 64function_unlikely=" unlikely(1)" 65function_upper=" upper(1)" 66function_varchar=" varchar(1)" 67function_zeroblob=" zeroblob(1)" 68 69keyword_ABORT="ABORT" 70keyword_ACTION="ACTION" 71keyword_ADD="ADD" 72keyword_AFTER="AFTER" 73keyword_ALL="ALL" 74keyword_ALTER="ALTER" 75keyword_ANALYZE="ANALYZE" 76keyword_AND="AND" 77keyword_AS="AS" 78keyword_ASC="ASC" 79keyword_ATTACH="ATTACH" 80keyword_AUTOINCREMENT="AUTOINCREMENT" 81keyword_BEFORE="BEFORE" 82keyword_BEGIN="BEGIN" 83keyword_BETWEEN="BETWEEN" 84keyword_BY="BY" 85keyword_CASCADE="CASCADE" 86keyword_CASE="CASE" 87keyword_CAST="CAST" 88keyword_CHECK="CHECK" 89keyword_COLLATE="COLLATE" 90keyword_COLUMN="COLUMN" 91keyword_COMMIT="COMMIT" 92keyword_CONFLICT="CONFLICT" 93keyword_CONSTRAINT="CONSTRAINT" 94keyword_CREATE="CREATE" 95keyword_CROSS="CROSS" 96keyword_CURRENT_DATE="CURRENT_DATE" 97keyword_CURRENT_TIME="CURRENT_TIME" 98keyword_CURRENT_TIMESTAMP="CURRENT_TIMESTAMP" 99keyword_DATABASE="DATABASE" 100keyword_DEFAULT="DEFAULT" 101keyword_DEFERRABLE="DEFERRABLE" 102keyword_DEFERRED="DEFERRED" 103keyword_DELETE="DELETE" 104keyword_DESC="DESC" 105keyword_DETACH="DETACH" 106keyword_DISTINCT="DISTINCT" 107keyword_DROP="DROP" 108keyword_EACH="EACH" 109keyword_ELSE="ELSE" 110keyword_END="END" 111keyword_ESCAPE="ESCAPE" 112keyword_EXCEPT="EXCEPT" 113keyword_EXCLUSIVE="EXCLUSIVE" 114keyword_EXISTS="EXISTS" 115keyword_EXPLAIN="EXPLAIN" 116keyword_FAIL="FAIL" 117keyword_FOR="FOR" 118keyword_FOREIGN="FOREIGN" 119keyword_FROM="FROM" 120keyword_FULL="FULL" 121keyword_GLOB="GLOB" 122keyword_GROUP="GROUP" 123keyword_HAVING="HAVING" 124keyword_IF="IF" 125keyword_IGNORE="IGNORE" 126keyword_IMMEDIATE="IMMEDIATE" 127keyword_IN="IN" 128keyword_INDEX="INDEX" 129keyword_INDEXED="INDEXED" 130keyword_INITIALLY="INITIALLY" 131keyword_INNER="INNER" 132keyword_INSERT="INSERT" 133keyword_INSTEAD="INSTEAD" 134keyword_INTERSECT="INTERSECT" 135keyword_INTO="INTO" 136keyword_IS="IS" 137keyword_ISNULL="ISNULL" 138keyword_JOIN="JOIN" 139keyword_KEY="KEY" 140keyword_LEFT="LEFT" 141keyword_LIKE="LIKE" 142keyword_LIMIT="LIMIT" 143keyword_MATCH="MATCH" 144keyword_NATURAL="NATURAL" 145keyword_NO="NO" 146keyword_NOT="NOT" 147keyword_NOTNULL="NOTNULL" 148keyword_NULL="NULL" 149keyword_OF="OF" 150keyword_OFFSET="OFFSET" 151keyword_ON="ON" 152keyword_OR="OR" 153keyword_ORDER="ORDER" 154keyword_OUTER="OUTER" 155keyword_PLAN="PLAN" 156keyword_PRAGMA="PRAGMA" 157keyword_PRIMARY="PRIMARY" 158keyword_QUERY="QUERY" 159keyword_RAISE="RAISE" 160keyword_RECURSIVE="RECURSIVE" 161keyword_REFERENCES="REFERENCES" 162keyword_REGEXP="REGEXP" 163keyword_REINDEX="REINDEX" 164keyword_RELEASE="RELEASE" 165keyword_RENAME="RENAME" 166keyword_REPLACE="REPLACE" 167keyword_RESTRICT="RESTRICT" 168keyword_RIGHT="RIGHT" 169keyword_ROLLBACK="ROLLBACK" 170keyword_ROW="ROW" 171keyword_SAVEPOINT="SAVEPOINT" 172keyword_SELECT="SELECT" 173keyword_SET="SET" 174keyword_TABLE="TABLE" 175keyword_TEMP="TEMP" 176keyword_TEMPORARY="TEMPORARY" 177keyword_THEN="THEN" 178keyword_TO="TO" 179keyword_TRANSACTION="TRANSACTION" 180keyword_TRIGGER="TRIGGER" 181keyword_UNION="UNION" 182keyword_UNIQUE="UNIQUE" 183keyword_UPDATE="UPDATE" 184keyword_USING="USING" 185keyword_VACUUM="VACUUM" 186keyword_VALUES="VALUES" 187keyword_VIEW="VIEW" 188keyword_VIRTUAL="VIRTUAL" 189keyword_WHEN="WHEN" 190keyword_WHERE="WHERE" 191keyword_WITH="WITH" 192keyword_WITHOUT="WITHOUT" 193 194operator_concat=" || " 195operator_ebove_eq=" >=" 196 197snippet_1eq1=" 1=1" 198snippet_at=" @1" 199snippet_backticks=" `a`" 200snippet_blob=" blob" 201snippet_brackets=" [a]" 202snippet_colon=" :1" 203snippet_comment=" /* */" 204snippet_date="2001-01-01" 205snippet_dollar=" $1" 206snippet_dotref=" a.b" 207snippet_fmtY="%Y" 208snippet_int=" int" 209snippet_neg1=" -1" 210snippet_pair=" a,b" 211snippet_parentheses=" (1)" 212snippet_plus2days="+2 days" 213snippet_qmark=" ?1" 214snippet_semicolon=" ;" 215snippet_star=" *" 216snippet_string_pair=" \"a\",\"b\"" 217 218string_dbl_q=" \"a\"" 219string_escaped_q=" 'a''b'" 220string_single_q=" 'a'" 221 222pragma_application_id@1=" application_id" 223pragma_auto_vacuum@1=" auto_vacuum" 224pragma_automatic_index@1=" automatic_index" 225pragma_busy_timeout@1=" busy_timeout" 226pragma_cache_size@1=" cache_size" 227pragma_cache_spill@1=" cache_spill" 228pragma_case_sensitive_like@1=" case_sensitive_like" 229pragma_checkpoint_fullfsync@1=" checkpoint_fullfsync" 230pragma_collation_list@1=" collation_list" 231pragma_compile_options@1=" compile_options" 232pragma_count_changes@1=" count_changes" 233pragma_data_store_directory@1=" data_store_directory" 234pragma_database_list@1=" database_list" 235pragma_default_cache_size@1=" default_cache_size" 236pragma_defer_foreign_keys@1=" defer_foreign_keys" 237pragma_empty_result_callbacks@1=" empty_result_callbacks" 238pragma_encoding@1=" encoding" 239pragma_foreign_key_check@1=" foreign_key_check" 240pragma_foreign_key_list@1=" foreign_key_list" 241pragma_foreign_keys@1=" foreign_keys" 242pragma_freelist_count@1=" freelist_count" 243pragma_full_column_names@1=" full_column_names" 244pragma_fullfsync@1=" fullfsync" 245pragma_ignore_check_constraints@1=" ignore_check_constraints" 246pragma_incremental_vacuum@1=" incremental_vacuum" 247pragma_index_info@1=" index_info" 248pragma_index_list@1=" index_list" 249pragma_integrity_check@1=" integrity_check" 250pragma_journal_mode@1=" journal_mode" 251pragma_journal_size_limit@1=" journal_size_limit" 252pragma_legacy_file_format@1=" legacy_file_format" 253pragma_locking_mode@1=" locking_mode" 254pragma_max_page_count@1=" max_page_count" 255pragma_mmap_size@1=" mmap_size" 256pragma_page_count@1=" page_count" 257pragma_page_size@1=" page_size" 258pragma_parser_trace@1=" parser_trace" 259pragma_query_only@1=" query_only" 260pragma_quick_check@1=" quick_check" 261pragma_read_uncommitted@1=" read_uncommitted" 262pragma_recursive_triggers@1=" recursive_triggers" 263pragma_reverse_unordered_selects@1=" reverse_unordered_selects" 264pragma_schema_version@1=" schema_version" 265pragma_secure_delete@1=" secure_delete" 266pragma_short_column_names@1=" short_column_names" 267pragma_shrink_memory@1=" shrink_memory" 268pragma_soft_heap_limit@1=" soft_heap_limit" 269pragma_stats@1=" stats" 270pragma_synchronous@1=" synchronous" 271pragma_table_info@1=" table_info" 272pragma_temp_store@1=" temp_store" 273pragma_temp_store_directory@1=" temp_store_directory" 274pragma_threads@1=" threads" 275pragma_user_version@1=" user_version" 276pragma_vdbe_addoptrace@1=" vdbe_addoptrace" 277pragma_vdbe_debug@1=" vdbe_debug" 278pragma_vdbe_listing@1=" vdbe_listing" 279pragma_vdbe_trace@1=" vdbe_trace" 280pragma_wal_autocheckpoint@1=" wal_autocheckpoint" 281pragma_wal_checkpoint@1=" wal_checkpoint" 282pragma_writable_schema@1=" writable_schema" 283