深入浅出带你玩转sqlilabs(二)
MYSQL高权限注入
mysql跨库注入
详情请看上一篇:深入浅出带你玩转sqlilabs(一)
mysql文件操作注入-sqlilabs less7
可能用到的函数:
into outfile()函数,写文件,用法:select 'mysql is very good' into outfile 'text1.txt';或者是select 'mysql is very good' into outfile 'path(路径目录之间用双斜杠,防止出现阻止过滤手段\n等)'
MySQL文件位置:MySQL/data
load_file()函数,读取本地文件,用法:select load_file('写文件保存的路径')
if()函数,if(condition,A,B),如果条件condition为true,则执行语句A,否则执行B
先判断注入点数据类型:
http://localhost/sqlilabs/Less-7/?id=1fdg //注入点处开头数字+字符

没有报错,说明是字符型参数
因为是字符型参数,所以id参数先用'使参数报错

然后再想办法填补参数格式(猜,一般是多几个闭合括号)使输出变正常。
http://localhost/sqlilabs/Less-7/?id=1')) --+
'号报错,))号闭合参数,--+号注释后面的语句,使输出正确

然后用order by列查询,查询字段数
http://localhost/sqlilabs/Less-7/?id=1')) order by 3--+

从字段1查到字段4,终于报错了,退回3,正确了,所以字段数是3
接下来就是衔接命令了,由于前面提示要用到outfile()函数
http://localhost/sqlilabs/Less-7/?id=-1')) union select 1,2,3--+
因为要进行写文件操作,所以就涉及到写文件权限的问题,phpstudy文件读写权限的问题:使用
show variables like '%secure%';
在命令行中查看secure-file-priy当前的值,如果显示NULL,则需要打开phpstudy\PHPTutorial\MySQL\my.ini文件,在其中加上一句:secure_file_priv="/"


然后重启phpstudy,再执行一次注入语句,已经写入了

访问文件,没问题

注意:文件读写注入需要考虑mysql版本问题,高版本存secure_file_priv过滤,mysql之突破secure_file_priv,低版本可以直接写入
突破参考:https://www.cnblogs.com/c1e4r/articles/8902444.html
接下来写入一句话就可以了
注意:路径问题:操作文件写入的时候需要提前得到网站的绝对路径
路径获取方法:
1.报错显示
构造一个不存在的参数值

2.遗留文件

3.漏洞爆路径

4.其他
读取网站解析配置文件
win phpstudy Apache配置文件位置:E:\phpstudy\PHPTutorial\Apache\conf\vhosts.conf
windows2003 iis6配置文件所在位置C:\Windows/system32\inetsrv\metabase.xml
win2008/2012 iis7.5 在这个文件C:\Windows\System32\inetsrv\config\applicationHost.config
字典fuzz:d e d:/wwwroot/www.xx.com .....
MYSQL过滤型注入
mysql宽字节绕过注入-sqlilabs less32
过滤函数 :addslashes(),返回在预定义字符之前添加反斜杠的字符串。
预定义字符是:
单引号(')
双引号(")
反斜杠(\)
NULL

魔术引号 :php扩展及设置--参数开关设置--magic_quotes_gpc,作用范围是:WEB客户服务端;作用时间:请求开始时
这个特性在PHP5.3.0中已经废弃并且在5.4.0中已经移除了
源码中id参数的接收


输入没有反斜杠,输出有反斜杠,说明有过滤函数对参数进行转义、过滤了。所以我们遇到了这种情况:想对参数的引号进行闭合,但是又遇到了过滤引号的函数,这就用到宽字节注入了。
当数据库编码为gbk编码时(中文编码不知道日文编码韩文编码是不是),可以使用宽字节注入绕过过滤函数和魔术引号。宽字节格式是地址后加一个%df,再加单引号,因为反斜杠的编码为%5c,而gbk编码中,%df%5c是繁体字“運”(或者是希腊字母β),所以这时系统会误认为这时一个汉字,而不包含反斜杠,所以相当于把反斜杠变成一个汉字,引号就注释不了了,然后我们加单引号闭合的时候使用单引号的url编码:%27,这样一来,系统解析就会这样:%df%5c%27,前两个字节解析为汉字,最后一个字节解析为单引号

注入成功了
MYSQL其他注入
在原有的注入参数值多了一层加密,所以在注入的时候要提前解密参数值,进行注入语句的拼接后在进行加密尝试注入测试。
盲注,二次注入等
深入浅出带你玩转sqlilabs(二)的更多相关文章
- 深入浅出带你玩转sqlilabs(五)-布尔/延时盲注与二次注入
SQL测试-基于布尔,延时盲注 布尔,延时注入常用到的判断语句 regexp regexp '^xiaodi[a-z]' 匹配xiaodi及xiaodi...等 if if(条件,5,0) 条件成立 ...
- 深入浅出带你玩转sqlilabs(一)
一.MySQL数据库结构分层 1.1库名,表名,列名,数据库用户等 Mysql数据库结构示例: 数据库A zblog = www.zblog.com 表名 列名(字段) 数据 数据库B dede = ...
- 深入浅出带你玩转sqlilabs(四)-updatexml(),floor(),extractvalue()报错注入
SQL各种参数类型下的注入测试 数字型-sqlilabs less2 前面文章已演示过 字符型-sqlilabs less1 前面文章已演示过 搜索型-自写测试 如: www.test.com/ind ...
- 深入浅出带你玩转sqlilabs(三)--GET,POST,COOKIE,万能密码注入
常见提交方式下的注入漏洞 WEB应用在数据传递接受中,针对SQL注入安全漏洞,由于数据大小,格式等原因,脚本在接受传递时会有多种传递方式,传递方式的不同将影响到安全测试的不同 第一点:数据常见提交方式 ...
- 来吧!带你玩转 Excel VBA
来吧!带你玩转 Excel VBA 从错失良机到艰辛的DOS征程,从坎坷购机自学路到转机起程,从爱好到事业,他从一个完全不懂电脑的人到VBA高级应用者,一切全是自学…… 我是罗刚君,来自四川的一个小县 ...
- 转: 带你玩转Visual Studio——带你理解多字节编码与Unicode码
上一篇文章带你玩转Visual Studio——带你跳出坑爹的Runtime Library坑帮我们理解了Windows中的各种类型C/C++运行时库及它的来龙去脉,这是C++开发中特别容易误入歧途的 ...
- 分分钟带你玩转 Web Services【2】CXF
在实践中一直在使用 JAX-WS 构建 WebService 服务,服务还是非常稳定.高效的. 但还是比较好奇其他的 WebService 开源框架,比如:CXF/Axis2/Spring WS等. ...
- 带你玩转Visual Studio——带你理解多字节编码与Unicode码
目录(?)[-] 多字节字符与宽字节字符 char与wchar_t string与wstring string 与 wstring的相关转换 字符集Charcater Set与字符编码Encoding ...
- 老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩、击穿、穿透
前文回顾 建议前一篇文章没看过的同学先看下前面的文章: 「老司机带你玩转面试(1):缓存中间件 Redis 基础知识以及数据持久化」 过期策略 Redis 的过期策略都有哪些? 在聊这个问题之前,一定 ...
随机推荐
- CF524F And Yet Another Bracket Sequence 题解
题目链接 算法:后缀数组+ST表+贪心 各路题解都没怎么看懂,只会常数巨大的后缀数组+ST表,最大点用时 \(4s\), 刚好可以过... 确定合法序列长度 首先一个括号序列是合法的必须满足以 ...
- 学习jQuery(1)
学习jQuery 通过 jQuery,您可以选取(查询,query) HTML 元素,并对它们执行"操作"(actions). jQuery 语法 jQuery 语法是为 HTML ...
- Python基础之数据类型详解(2)
今天继续昨天的python基本数据类型详解,按照上一篇博文的格式,接下来讲解列表.元组.字典以及集合. 列表 1.用途按位置存放多个值2.定义在[]内用逗号分割开多个任意类型的元素 # 定义列表 # ...
- Java例题_26 请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。
1 /*26 [程序 26 求星期] 2 题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母. 3 程序分析:用情况语句比较好,如果第一个字母一样,则判断用情 ...
- 使用 Android Studio 开发 widget 安卓桌面插件
•What AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序: 这么说可能有点抽象,看图: 像这种,桌面上的天气.时钟.搜索框等等,都属于 APP Wi ...
- DAOS 分布式异步对象存储|相关组件
DAOS 的安装涉及多个组件,这些组件可以是集中式的,也可以是分布式的. DAOS 软件定义存储 (software-defined storage, SDS) 框架依赖于两种不同的通信通道: 用于带 ...
- 认识Python解释器和PyCharm编辑器
(1)安装Python解释器 Python官网:https://www.python.org/ 下载对应机器(Windows/Mac)的安装包: 百度网盘地址: 链接:https://pan.baid ...
- 有了CMDB,为什么还需要应用配置管理?
有了CMDB,为什么还需要应用配置管理? 你不妨先停下来,思考一下这个问题. 我抛出的观点是: CMDB是面向资源的管理,应用配置是面向应用的管理. 请注意,这里是面向"资源",不 ...
- 你要 if 还是 case 呢?-- Shell十三问<第十二问>
你要 if 还是 case 呢?-- Shell十三问<第十二问> 还记得我们在第 10 章所介绍的 return value 吗? 是的,接下来介绍的内容与之有关,若你的记忆也被假期的欢 ...
- 13个精选的React JS框架
如果你正在使用 React.js 或 React Native 创建用户界面,可以试一试本文推荐的这些框架. React.js 和 React Native 是流行的用户界面(UI)开发平台,且都是开 ...