1.原理介绍
1.csrf 跨站请求伪造
客户在访问某个网站的过程中处于有权限状态,此时攻击者给客户发送了一个该网站的数据包,客户点击后,将这个数据包也发给网站,造成了一些客户个人未做的操作
条件:用户处于权限状态,用户点击攻击者的链接,攻击者知道相应数据包的写法
2.ssrf 服务器请求伪造
我们在一些目标服务器要访问远程其他服务器的地方写入目标网址达成
2.利用
1.csrf
可以做一些用户未允许的操作
2.ssrf
输入127.0.0.1,作为探针,探测网站服务器的某些信息
作为协议,利用file,ftp等访问资源,部分协议可以执行cmd等
3.防护
1.csrf
对于来源做验证:
在数据包中referer属于来源地址,服务器可以验证这个地址来判断这个是不是自己网址发来的请求,因为攻击者发送的数据包referer不是这个网址,可以规避,当然这个的绕过是比较简单的,可以用修改数据包的方式做到,如果目标网站有文件上传的地方,我们也可以先上传我们的数据包上去,让客户访问该文件修改来源。
利用token:
token令牌是php常用的防护手段,每次操作的token都会改变,由于token的长度很长,改变速度快,暴力破解基本是不现实的,一般使用token就不能再用csrf
2.ssrf
禁用跳转,禁止不需要的协议,固定或限制资源地址,错误信息统一处理
4.出现的地方
1.csrf
没有特定的特性代码,是逻辑特性的漏洞,要测试的时候,我们可以直接复现csrf漏洞,看能不能直接在非权限状态从浏览器访问则合格特定的网页。
2.ssrf
只要需要访问资源的地方就可能存在,比如分享,翻译,网址转换,网址分享等等
常用的函数有fopen()等等
可以看看大佬的SSRF漏洞原理攻击与防御(超详细总结)-CSDN博客
5.案例
等我慢慢补上