MySQL怎么注入利用的变量

这篇文章主要介绍“MySQL怎么注入利用的变量”,在日常操作中,相信很多人在MySQL怎么注入利用的变量问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL怎么注入利用的变量”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

创新互联建站-专业网站定制、快速模板网站建设、高性价比吴江网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式吴江网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖吴江地区。费用合理售后完善,10年实体公司更值得信赖。

其中version()可以写成@@version来把version当做变量来读取,这样一样可以得到,其他的内置是不可以写成变量的形式.

大家都应该用过利用pangolin来注入mysql库的注射点,认真的朋友都应该知道可以的得到basedir和datadir这两个变量的信息,其实还有更多的变量在注射的时候可以利用

我整理了几个在注射的时候可以利用到,收集更多关于mysql的配置信息。

@@have_openssl如果mysqld支持客户端/服务器协议的SSL(加密)则为YES

@@version_compile_os判断系统类型

@@max_allowed_packet包或任何生成的/中间字符串的最大大小

@@max_user_connectionsMySQL账户允许的最大同时连接数,0表示没限制

@@skip_networking如果服务器只允许本地(非TCP/IP)连接,该值为ON

@@table_type默认表类型(存储引擎)

@@basedirMySQL安装基准目录

@@character_set_database默认数据库使用的字符集

@@datadir数据库存储的地方

@@expire_logs_days二进制日志自动删除的天数,默认是0,表示"没有自动删除"

@@group_concat_max_len允许group_concat()函数结果的最大长度

@@log_error错误日志的位置

@@lower_case_file_system该变量说明是否数据目录所在的文件系统对文件名的大小写敏感.

ON说明对文件名的大小写不敏感,OFF表示敏感

@@lower_case_table_names如果设置为1,表名用小写保存到硬盘上,并且表名比较时不对大小写敏感.

MySQL怎么注入利用的变量?

如果设置为2,按照指定的保存表名,但按照小写来比较

@@plugin_dir插件目录的路径

@@tmpdir保存临时文件和临时表的目录

@@tmp_table_size如果内存内的临时表超过该值,MySQL自动将它转换为硬盘上的MyISAM表

@@sql_mode当前服务器的sql模式

@@tx_isolation默认事务隔离级别。默认值为REPEATABLE-READ

@@Connections连接mysql数据库服务器的次数(不管成功还是失败)

@@max_write_lock_count最大写锁数量

@@old_passwords是否启用mysql323加密方式(就是mysql用户密码的hash是16位的)

@@Uptime服务器已经运行的时间

其中我感觉basedir/version_compile_os/log_error/group_concat_max_len这四个变量的作用很大,大家看上面的注视。

group_concat_max_len这个变量涉及到group_concat()的返回字符长度,所以在使用group_concat()来注射时候要注意长度的限制。

tips:group_concat()函数的利用如下

urland1=2unionselect1,group_concat(schema_name),3,4frominformation_schema.schemata

这样的话,就可以把当前用户中建立数据库名全部显示出来,在注射表名、字段名、字段属性都可以使用,这样的话又省了不少体力活。

同时group_concat()还可以绕过不能使用limit的现实,当然不嫌累的话,可以使用"!="的形式来绕过limit的限制。

到此,关于“MySQL怎么注入利用的变量”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


当前标题:MySQL怎么注入利用的变量
标题链接:http://pwwzsj.com/article/gjeejc.html