URL中?和#的区别(关于SSRF)以及mysql的secure-file-priv
零,绪论
20180125日,忙! 瞎比比总结一下,来满足这是个日记的样子。
1、今天谈的并不是什么技术【当然也不是没有技术(都很基础)】而是瞎几把扯。
一、关于一种SSRF的检测绕过:
1、背景:
有这样一种情况在集中登录认证的web页面一般url后面会跟一个next=https://aaa.bbcc.com/index/xxx/index.html这个位置很容易发生SSRF。但仔细观察测试,发现这个地方对URL做了检测,只允许URL以图片类文件扩展名作为结尾。例如.jpg,.png等等,为了绕过这个检测,想到了使用#和?,但是在这里就发现了区别了。
2、?与#的区别:
(1)?号是URL的一部分,一般用在GET请求之中,作为区分主干和参数的符号。例如一个请求是:https://www.asdf.com/getinfo.php?name=test。在请求报文中应该是下面这样的:
GET /getinfo.php?name=test HTTP/1.1
Host: www.asdf.com
...
当?后面的部分在后台的处理函数中不做处理的时候也对整个访问没有影响。
(2)#号其实不是URL的一部分,或者准确的说是不传到后台的一部分,所以#以及其后面的部分不会出现在请求报文中。一个https://www.asdf.com/getinfo.php#print的请求报文应该如下:
GET /getinfo.php HTTP/1.1
Host: www.asdf.com
...
所以#号具有以下特点:
@1 #号不触发网页的重载;
@2 #号不影响请求报文的路径;
但是#号也对浏览有影响:
@1 #会改变历史记录,对于ajax类请求很有帮助,可以记录请求时候的一些状态值。
@2 window.location.hash会读取#号后面的值,还有就是#后面值得改变将会触发HTML5中的onhashchange事件。
综上所述,我想绕过SSRF的检查,就需要让URL以.jpg等图片格式的扩展名后缀结尾(在请求路径中),而且不能让其起效。所以就可以使用?来把最后面的部分加载在参数里,从而满足后台的检查,又能触发SSRF。
二、关于MySQL的secure-file-priv检查
1、背景:
在拿到mysql的最高权限的时候,想利用sql语句写个一句话进去,然而我发现我遇到了一个错误,SQL语句执行不符合secure-file-priv的设定。
2、什么是secure-file-priv
secure-file-priv是MySQL的一个新特性,这个配置点后面决定了MySQL数据导入导出的合法路径。否则既无法写文件、也无法读文件,例如into outfile时候回出错,load_file时候会返回null等。而这个配置的值在my.ini或者mysqld.cnf文件中默认是NULL哦,这样就导致了彻底无法输入写出和读入。如何查询对方的合法路径呢,可是使用:
show variables like '%secure%';
mysql> show variables like '%secure%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| require_secure_transport | OFF |
| secure_auth | ON |
| secure_file_priv | NULL |
+--------------------------+-------+
rows in set (0.00 sec)
类似于这种就没得玩了,而且这个只能通过配置文件修改,无法直接通过mysql-cli去修改,因此只能想别的办法了。
URL中?和#的区别(关于SSRF)以及mysql的secure-file-priv的更多相关文章
- 【本周面试题】第1周 - 获取URL中的查询字符串参数、get和post的区别
[此系列优先解决自己经历的面试题] 2018.11.16 面试题一:你如何获取浏览器URL中查询字符串中的参数? 题目代码: 测试地址为 https://www.sogou.com/tx?query= ...
- django中url 和 path 的区别
django中 url 和 path 都是配置路径,有什么不同? django.urls path django.conf.urls url path 与 url 是两个不同的模块,效果都是响应返回 ...
- 记录一次bug解决过程:velocity中获取url中的参数
一.总结 在Webx的Velocity中获取url中参数:$rundata.getRequest().getParameter('userId') 在Webx项目中,防止CSRF攻击(Cross-si ...
- 你知道url中的特殊符号含义么
1.# #代表网页中的一个位置.其右面的字符,就是该位置的标识符.比如,http://www.example.com/index.html#print就代表网页index.html的print位置.浏 ...
- js的url中传递中文参数乱码,如何获取url中参数问题
一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: <script type=”text/javascript ...
- JS中的的Url传递中文参数乱码,如何获取Url中参数问题
一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码:<script type=”text/javascript” ...
- 【转】URL和URI的区别
[转]URL和URI的区别 译者:华科小涛:http://www.cnblogs.com/hust-ghtao/: 初学http协议,就被这两个相似的术语搞蒙了,查了很多资料,总算搞清楚了.(找资料还 ...
- Js的Url中传递中文参数乱码的解决
一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: 2. 接收参数页面:test02.html 二:如何获取Url& ...
- 一招明白URL和URI的区别
URL和URI的区别(示例): URL[统一资源定位器]: http://localhost:8080/api/account/queryAccountInfo URI[统一资源定位符]: /api/ ...
随机推荐
- LOSF海量小文件问题解决思路及开源库
"+++++++++++++++ LOSF 海量小文件存储和优化方案 +++++++++++++++++++++++++++++++++++++++++++++"一.问题产生原因以 ...
- highcharts图表史上最全的参数配置(属性+事件)
今天这里将给大家全全展现相关的参数配置: chart.events.addSeries:添加数列到图表中. chart.events.click:整个图表的绘图区上所发生的点击事件. chart.ev ...
- 大数据学习之Scala中main函数的分析以及基本规则(2)
一.main函数的分析 首先来看我们在上一节最后看到的这个程序,我们先来简单的分析一下.有助于后面的学习 object HelloScala { def main(args: Array[String ...
- Codeforces 482C Game with Strings(dp+概率)
题目链接:Codeforces 482C Game with Strings 题目大意:给定N个字符串,如今从中选定一个字符串为答案串,你不知道答案串是哪个.可是能够通过询问来确定, 每次询问一个位置 ...
- 转:解决centos netstat和ps感染木马
解决方法:a.去除恶意文件的执行权限chmod 000 /tmp/gates.lod /tmp/moni.lod service sendmail stopchkconfig --level ...
- QT在CT上的安装及运行
http://www.cubie.cc/forum.php?mod=viewthread&tid=2662&highlight=qt
- json datatable互转(真正能用的-原创)
网上有不少的转换类 可是不全 或者有错误 我现在贴一个 js 和C# 互转代码 希望能帮到需要的童鞋 首先C#转成 json /// <summary> /// DataT ...
- 使用pjsip传输已经编码的视频
http://blog.chinaunix.net/uid-15063109-id-4445165.html ————————————————————————————————————————————— ...
- 回文自动机 + DFS --- The 2014 ACM-ICPC Asia Xi’an Regional Contest Problem G.The Problem to Slow Down You
The Problem to Slow Down You Problem's Link: http://acm.hust.edu.cn/vjudge/problem/viewProblem.actio ...
- 10个 jQuery 小技巧
10个 jQuery 小技巧 -----整理by: xiaoshuai 1. 返回顶部按钮 可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. // Bac ...