SQLite - char或字符串的十六进制值

时间:2011-10-20 15:20:34

标签: sqlite sql-injection

我正在编写一个利用SQL注入的工具。我正在尝试添加对SQLite的支持,现在我遇到了一个问题:如果我需要插入一个字符串,但引用在Mysql中被转义,我可以使用0x65...,或者使用Postgres CHR(65)||...。但是在SQLite中我没有使用引号就找不到任何方法。

任何人都可以帮助我吗?

提前致谢

2 个答案:

答案 0 :(得分:2)

我不相信有一般的解决方案。如果包含正确的字符,您可以使用parlor技巧组合字符串。例如,substr(quote(hex(0)),1,1)将返回"'"upper(substr(typeof(cast(0 as text)),3,1))将返回"X",等等。我怀疑你可以通过这种方式获得整个字母,但是对于任何注入你都可能就足够了'重新规划。

答案 1 :(得分:0)

我不知道相应的,但您可以查看文档以查看是否有任何可以使用的内容:

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

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