目录
SSRF漏洞
SSRF(Server Side Request Forgery,服务器端请求伪造)是一种攻击者通过构造数据进而伪造服务器端发起请求的漏洞,因为求情是由服务器发出的,所以往往是利用SSRF漏洞攻击服务器所在网络内部系统。
SSRF攻击Redis
Redis是一个远程字典服务、Key-Value数据库,一般运行在内网中,使用者大多将其绑定在127.0.0.1:6379,而且Redis默认是无密码的。攻击者可以通过SSRF漏洞未授权访问内网Redis服务,可任意增、删、查、改其中的数据。因为Redis 一般是root启动的,所以可以利用且特殊身份和其导出功能(config set 可以设置保存路径,config set 可以设置保存文件名)向主机中写入shell脚本、比如写入Crontab、Webshell、SHH 公钥。
302跳转
301、302都是http的状态码,都代表重定向,301是永久重定向,302是临时重定向,因为302是临时的,一般不会缓存数据,所以攻击者一般都会利用302重定向
当浏览器收到的http状态码为302时,将自动从返回的http头中取出Location后的数据作为URL发出请求。但在web服务器中要让服务器自动跟随Location跳转,一般需要设置相关参数,比如php下需要设置如下:
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); # $ch 为curl 句柄 表示会跟随Location 跳转,这里时以递归的形式
漏洞复现:
index.html:
<!DOCTYPE html>
<head>
<meta charset="utf-8">
</head>
<form action='index.php' method='get'>
input url: <input type="text" name="url"><br>
<input type="submit" value="提交">
</form>
index.php:
<?php
function check_ip($url) #对ip进行限制,现在内网ip
{
$match_res=preg_match('/^(http|https)?:\/\/.*(\/)?.*$/',$url);
if(!$match_res)
{
echo 'url fomat erro';
exit();
}
try
{
$url_parse=parse_url($url);
}
catch(Exception $e)
{
echo 'url fomat error';
exi

最低0.47元/天 解锁文章
1399

被折叠的 条评论
为什么被折叠?



