第29天-WEB漏洞-CSRF及SSRF漏洞案例讲解

CSRF

在这里插入图片描述

CSRF 漏洞原理

在这里插入图片描述

CSRF(Cross-site request forgery) 跨站请求伪造,由客户端发起,是一种劫持受信任用户向服务器发送非预期请求的攻击方式,与XSS相似,但比XSS更难防范,常与XSS一起配合攻击。

CSRF离不开Cookie,并不是说要获取Cookie,而是利用浏览器保存已有的Cookie数据来做跳转,而XSS恶意代码执行是辅助CSRF去执行,当然,XSS还有可能有其它用途,比如挖矿等等。现在基本上都不用打开另外一个页面去获取Cookie,结合XSS在本站下自动执行脚本动作,也不用获取Cookie,直接提交时默认就已经带上了本站的全部Cookie信息。所以这个XSS是实际操作CSRF是一个攻击概念

CSRF 漏洞检测

检测位置:修改、更新、添加信息、等地方

发送的数据包是否有token值

burpsuite检测csrf

防御方案

1、当用户发送重要的请求时需要输入原始密码
2、设置随机 Token(最有效)
3、检验 referer 来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)
4、设置验证码
5、限制请求方式只能为 POST

SSRF

在这里插入图片描述
在这里插入图片描述

SSRF 漏洞原理

SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。一般情况下,SSRF攻击的目标是从外网无法访问的内部系统。(正是因为 它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统) SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。 注释:除了http/https等方式可以造成ssrf,类似tcp connect 方式也可以探测内网一些ip 的端口是否开发服务,只不过危害比较小而已。

SSRF 漏洞检测

各个协议调用探针:http,file,dict,ftp,gopher 等
漏洞攻击:端口扫描,指纹识别,漏洞利用,内网探针等
http://192.168.64.144/phpmyadmin/
file:///D:/www.txt
dict://192.168.64.144:3306/info
ftp://192.168.64.144:21

防御

1.禁止跳转
2.过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准。
3.禁用不需要的协议,仅仅允许http和https请求。可以防止类似于file://, gopher://, ftp:// 等引起的问题
4.设置URL白名单或者限制内网IP(使用gethostbyname()判断是否为内网IP)
5.限制请求的端口为http常用的端口,比如 80、443、8080、8090
6.统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。

PHPJavacurlPerlASP.NET
—with-curlwrappersbefore JDK1.7before 7.49.0不支持\x00before version 3
—with-curlwrappersXbefore 7.49.0不支持\x00XX
—with-curlwrappersX
—with-curlwrappersX
—with-curlwrappersXX
—with-curlwrappers
—with-curlwrappers
—with-curlwrappersXXX
—with-curlwrappersXXX
受限于allow_url_fopenXX受限于Net:SSH2X
受限于allow_url_fopenXXXX
受限于allow_url_fopenXXXX
XXXX
XXXX
受限于allow_url_fopenXXXX

演示案例:

Pikachu_CSRF 案例及 Burp 检测

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Pikachu_CSRF 防御 Token 测试测试

SSRF_PHP,JAVA 漏洞代码协议运用

https://www.t00ls.net/articles-41070.html

SSRF_漏洞代码结合某漏洞利用测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

SSRF 实战_图片加载翻译转码等应用说明

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

涉及资源:

https://pan.baidu.com/s/1bp96ECJ
https://www.t00ls.net/articles-41070.html

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<form action="" method="POST">
请输入图片地址:<input type='text' name='url'>
<input type='submit' value="提交">
</form>
<?php
/*
$url=$_POST['url'];
$img =
file_get_contents('http://192.168.64.144:8080/?search==%00{.exec|cmd.exe%20/c%20net%20user%20t
est1234%201234%20/add.}');
echo $url;
echo $img;
//header("Content-Type: image/jpeg;text/html; charset=utf-8");
//echo $img;
//$file=fopen('x.png','w+');
//fwrite($file,$img);
//fclose($file);
*/
?>
<?php
$_POST['url'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $_POST['url']);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_exec($ch);
curl_close($ch);
?>
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值