SQLite - шестнадцатеричное значение для символа или строки - PullRequest
2 голосов
/ 20 октября 2011

Я пишу инструмент для использования SQL-инъекций.Сейчас я пытаюсь добавить поддержку SQLite и сталкиваюсь с проблемой: если мне нужно вставить строку, но в Mysql экранируются кавычки, я могу использовать 0x65... или Postgres CHR(65)||....Но в SQLite я не могу найти способ сделать это без использования кавычек.

Может ли кто-нибудь мне помочь?

Заранее спасибо

Ответы [ 2 ]

2 голосов
/ 20 октября 2011

Я не верю, что есть общее решение. Вы можете собрать свою строку, используя хитрости, если она содержит правильные символы. Например, substr(quote(hex(0)),1,1) вернет "'", upper(substr(typeof(cast(0 as text)),3,1)) вернет "X" и т. Д. Я сомневаюсь, что вы можете получить весь алфавит таким образом, но этого может быть достаточно для любой инъекции, которую вы планируете.

0 голосов
/ 20 октября 2011

Я не знаю эквивалента, однако вы можете проверить документацию, чтобы увидеть, есть ли что-нибудь, что вы можете использовать:

http://www.sqlite.org/lang_corefunc.html

http://www.sqlite.org/lang_aggfunc.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...