CSRF
什么是CSRF?
CSRF , 中文全称叫做客户端请求伪造 , 是建立在会话之上的攻击 , 欺骗用户访问恶意的url , 如转账和添加管理员用户。
程序员在开发的时候,未对相关页面进行token和referer判断,造成攻击者可构造自己的URL地址欺 骗目标用户进行点击访问。
如何挖掘CSRF漏洞?
用web扫描器,例如AWVS扫描修改密码的地方、添加用户的地方数据库备份的地方、数据交易和支付的地方。
验证:
1.GET类型的CSRF的检测
如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,即存在CSRF漏洞。
2.POST类型的CSRF的检测
如果有token等验证参数,先去掉参数尝试能否正常请求。如果可以,再去掉referer参数的内容,如果仍然可以,说明存在CSRF漏洞,可以利用构造外部form表单的形式,实现攻击。如果直接去掉referer参数请求失败,这种还可以继续验证对referer的判断是否严格,是否可以绕过。
json下csrf利用:json格式闭合或通过XHR提交或借助flash,利用307跳转实现CSRF即:
1、受害者访问POC,向attacter.com发起一条swf请求,swf向307.php发送HTTP POST请求。
2、attacter.com的307.php发起307跳转,跳转到victim.com,注意307跳转会带着http请求方式,header和postdata进行跳转。
3、victim.com收到一条POST请求,并且Content-Type为application/json。
csrf的防御方法有哪些?
1.校验HTTP Referer字段。
2.在请求地址中添加token并验证增加验证码验证。
SSRF
什么是SSRF?
SSRF(Server-Side Request Forgery:服务器端请求伪造) 是一种由攻击者构造形成 , 由服务端发起请求的个安全漏洞,属于服务端攻击 , 一般,服务端提供了从其他服务器应用获取数据的功能 ,但是没有对目标地址做过滤与限。
SSRF的用途
1.可以对服务器所在内网、本地进行端口扫描,获取一些服务的banner信息。
2.可以攻击内网或本机上运行的应用程序 , 溢出攻击。
3.可以对内网的web应用进行指纹识别。
4.攻击内外网的web应用。
5.利用file协议读取本地文件。
6.ssrf能达到一个什么样利用程度 , 取决于服务端后台的函数。
如何挖掘SSRF?
在调用外部资源的参数中都有可能存在SSRF漏洞 , 如:
1.分享内容
2.转码服务*·
3.在线翻译框
4.图片加载与下载:通过URL地址加载或下载图片
5.图片、文章收藏功能
6.通过url中的关键字寻找
CSRF和SSRF 有什么区别?
CSRF是客户端请求伪造攻击,由客户端发起。SSRF是服务器端请求伪造,由服务器发起。
相关问题
SSRF绕waf,例如waf规则是正则匹配所有的ip:
对ip编码,url不仅可以解析十进制的ip。也可以解析其他进制的。
SSRF怎么用redis写shell?
通过SSRF的gopher协议操作内网的redis。
如何判断是SSRF还是url跳转漏洞?
dnslog判断ip是否是本机ip。