Skip to content

Escape double quotes in SQLite export identifiers - #6141

Closed
pasmud wants to merge 1 commit into
sqlmapproject:masterfrom
pasmud:fix/sqlite-export-quoted-identifiers
Closed

pasmud wants to merge 1 commit into
sqlmapproject:masterfrom
pasmud:fix/sqlite-export-quoted-identifiers

Conversation

@pasmud

@pasmud pasmud commented Oct 8, 2026

Copy link
Copy Markdown

SQLite exports fail when a table or column name contains a double quote. For example, a MySQL table named sales"archive is written as "sales"archive" instead of "sales""archive", which SQLite rejects.

This escapes double quotes in the local replication writer when creating, replacing, inserting into and selecting from tables. The same quoting applies to typed and typeless column definitions. Regression tests cover those paths and a SQLite dump with quoted MySQL identifiers, checking the exported names and data through an independent SQLite connection.

Validation on Kali Linux with Python 3.14.7:

  • PYTHONHASHSEED=0 python3 -B -m unittest discover -s tests -p "test_*.py": 2,668 tests ran, OK with 10 skipped.
  • python3 -B sqlmap.py --smoke-test: passed.
  • python3 -B sqlmap.py --vuln-test --test-filter=dump-format=SQLITE: passed, one SQLite integration entry selected.
  • The repository's CI pyflakes check: clean.
  • Basic imports of sqlmap and sqlmapapi: passed.
  • git diff --check: clean.

@stamparm

stamparm commented Oct 8, 2026

Copy link
Copy Markdown
Member

sales"archive give me a break

@stamparm stamparm closed this Oct 8, 2026
@stamparm

stamparm commented Oct 8, 2026

Copy link
Copy Markdown
Member

p.s. i am not accepting non-developer AI slop pull requests into the sqlmap

@sqlmapproject sqlmapproject locked and limited conversation to collaborators Oct 8, 2026
@pasmud
pasmud deleted the fix/sqlite-export-quoted-identifiers branch October 9, 2026 10:55
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants