MySQL out intofile 的安全问题

以前看过一篇博文说到利用MySQL中的out intofile可以进入注入,具体方法,就是通过提交一些危险内容,然后将其导出成文件。

今天再次拿起这个问题看了看,又多了一点收获。

如果要实现用into outfile把代码写到WEB目录下,取得WEBSHELL

3大先天条件:

1. 知道物理路径(into outfile 'WEB目录的物理路径')这样才能写对目录。(默认的当前目录是MySQL的数据目录)

2.能够使用union(也就是MySQL版本在3以上)

3.没有对'进行过滤(因为outfile后面的''不可以用其他函数代替转换)

2大后天条件:

1.MySQL用户拥有file_priv权限(不然就不能写文件或者把文件内容读出)

2.对web目录有写权限。

 

 

顺带说一下mysql dumpfile与outfile函数的区别

SELECT into outfile :导出到一个txt文件,可以导出每行记录的,这个很适合导库

SELECT into dump:只能导出一行数据

如果想把一个可执行二进制文件用into outfile函数导出,导出后,文件会被破坏

因为into outfile函数会在行末端写新行,更致使的是会转义换行符,这样2进制可执行文件就会被破坏

这时,我们能用into dumpfile导出一个完整能执行的2进制文件,它不对任何列或行进行终止,也不执行任何转义处理

总结:

into outfile:导出内容

into dumpfile:导出二进制文件

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值