【问题标题】:how mysql treat the hex in sql statementmysql如何处理sql语句中的十六进制
【发布时间】:2014-01-26 02:22:33
【问题描述】:

我知道一点关于 php 的 SQL 注入,并且我阅读了一些关于 sqli 的帖子!这些帖子说当黑客想要获取表的列名时,他们会使用

select group_concat(column_name) from information_schema.columns where table_name=0x7573657273

语句中的“0x7573657273”是“users”的十六进制字符串。奇怪的是,当我在mysql控制台执行这条语句时,它会准确返回表用户的列。 这是否意味着mysql会自动将十六进制转换为字符串,例如将“0x7573657273”转换为“uses”或将“0x3D”转换为“=”? 是不是说mysql可以理解十六进制的意思?

【问题讨论】:

    标签: mysql hex


    【解决方案1】:

    在字符串上下文中,MySQL 将十六进制值视为二进制字符串,其中每对十六进制数字都转换为一个字符。

    Refer link: http://dev.mysql.com/doc/refman/5.0/en/hexadecimal-literals.html

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-07
    • 2020-05-10
    • 2014-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-12-09
    • 2012-06-16
    • 2011-06-01
    相关资源
    最近更新 更多