ssrf redis getshell 写私钥_csrf和ssrf总结

1.csrf跨站请求伪造

CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。

在没有关闭相关网页的情况下,点击其他人发来的CSRF链接,利用客户端的cookie直接向服务器发送请求。

原理:

攻击者通过盗用用户身份悄悄发送一个请求,或执行某些恶意操作。 

CSRF 漏洞产生的主要原因:

1、请求所有的参数均可确定

2、请求的审核不严格,如:只验证了 Cookie

我们知道,当我们使用 img 等标签时,通过设置标签的 src 等属性引入外部资源,是可以被浏览器认为是合法的跨域请求,也就是说是可以带上 Cookie 访问的。 

CSRF的攻击流程如下

1.受害者登录了目标网站

2.攻击者向受害者发送恶意链接

3.受害者点击链接, 链接中的js代码执行, 向目标网站发送某个请求

4.由于用户已登录, 请求会被成功执行

GET型的csrf

试想一下,如果我们在 a.com 上放置一个 img 标签。当 b.com 的用户在 cookie 为过期的情况下访问 a.com,此时浏览器会向 b.com 发送一个指向http://b.com/del?id=1的GET请求,并且这个请求是带上 Cookie 的,而 b.com 的服务器仅仅是通过 cookie 进行权限判断,那么服务器就会进行相应的操作,比如假设此处为删除某个文章,用户在不知情的情况下便已完成操作。

d1138f9a0456e28aa48b8e5eb76266b5.png

POST型的csrf

在普通⽤户的眼中,点击⽹⻚->打开试看视频->购买视频是⼀个很正常的⼀个流程。可是在攻击者的眼中可以算正常,但⼜不正常的,当然不正常的情况下,是在开发者安全意识不⾜所造成的。攻击者在购买处抓到购买时候⽹站处理购买(扣除)⽤户余额的地址。⽐如:

 /coures/use/test/1111/buy.php

通过提交表单,buy.php处理购买的信息,这⾥的25532为视频ID。那么攻击者现在构造⼀个链接,链接中包含以下内容。

当⽤户访问该⻚⾯后,表单会⾃动提交,相当于模拟⽤户完成了⼀次POST操作,⾃动购买了id为11111的视频,从⽽导致受害者余额扣除。

csrf造成的危害

1、篡改目标网站上的用户数据;

2、盗取用户隐私数据;

3、作为其他攻击向量的辅助攻击手法;

4、传播 CSRF 蠕虫。

csrf的利用方式

1、通过 HTML 标签发送合法的跨域请求

2、通过 Ajax 发送请求(由于 CORS 机制的存在,一般不使用)

这里涉及到同源策略,如果不是很清楚可以先去了解一下。

其实csrf的主要还是和xss连接在一起,但这并不是意味着csrf不能单独进行攻击,我在学习的过程中在一个靶场中成功通过csrf获得了管理员账户,这里我放到之后的实战中进行详细解释

csrf总结

csrf怎么找

黑盒

打开非静态操作的页面,抓包查看是否存在token,如果没有token,直接请求这个页面,不带referer,如果返回的数据是一样的话,那说明很有可能有CSRF漏洞了。

白盒

读代码的时候看看核心文件里有没有验证token和referer相关的代码。可以直接搜索token关键字。

csrf怎么防御
  1. 加验证码

  2. 尽量使用POST,少用GET

  3. 验证HTTP Referer字段

  4. 在请求地址中添加token并验证

csrf怎么攻击

攻击方法在上面阐释了,如果浏览器或者服务器进行了访问以及跳转控制,csrf就比较难进行攻击了,所以这也是为什么csrf在2017年的owa top10中落选的原因。

个人操作的话是本人找到相同的网站,找到一些请求的报文,通过报文分析出对应链接,让受害者点击这个链接(这个方法是比较简单的,但是限制很大),或者自己搭建一个平台,构造合适的url请求,当用户进行这个请求时,获取对应的cookie,这样可以通过cookie进行一些操作,不过这些攻击方式对于现在的网络环境来说是很难有施展的,瓶颈较大。

2.ssrf

SSRF(Server-Side Request Forgery:服务器端请求伪造)产生原因是服务端提供了从其他服务器应用获取数据的功能,比如从指定URL地址获取网页文本内容,加载指定地址的图片,下载等等。

很好理解,这个请求的发起端是服务器,访问目标是和服务器处于同一内网的资源服务器,如果没有对这个目标地址、文件类型做过滤与限制,就可以篡改这个请求地址来伪造请求,所以顾名思义,漏洞名叫“服务器端请求伪造”。

因SSRF通常被用来进行端口扫描,所以这个漏洞也叫XSPA,全称cross site port attack,跨站点端口攻击。

漏洞危害

1.读取或更新内部资源,造成本地文件泄露;

2.扫描内网主机端口并获取服务器上运行的服务版本,不得不提的案例是Weblogic SSRF探测内网Redis端口并结合CRLF写shell

3.将含有漏洞防主机用作代理/跳板攻击内网主机,绕过防火墙等;

ssrf查找

以下业务场景容易出现这种漏洞:

指定URL获取图片:加载/下载/上传

预览:预览图片文章等

文件下载:通过URL进行资源下载

远程加载资源:discuz的upload from url;web blog的import & expost rss feed;wordpress的xmlrpc.php

转码服务:通过URL地址把原地址内容进行转码

在线翻译:通过URL进行网页翻译

文章分享/收藏:从分享的URL中读取其原文的标题等

编码处理, 属性信息处理,文件处理:比如ffpmg,ImageMagick,docx,pdf,xml处理器等

邮件系统:比如接收邮件服务器地址

爬虫:某些网站可以对输入的URL进行信息爬取,而且有些爬虫会对爬到的内容进行渲染,在渲染的时候也可能造成ssrf

未公开的api:share、wap、url、link、src、source、target、display、sourceURl、imageURL等

数据库内置功能

mongodb: db.copyDatabaseoracle:UTL_HTTP,UTL_TCP,UTL_SMTPpostgressql:dblink_send_queryMSSQL:OpenRowset,OpenDatasource

利用方式

ssrf 主要还是作用于内网,比如探测主机,扫描端口,读取文件等

接下来的内容为了方便区分把数据库内置功能的部分单独列出来

让服务端去访问相应的网页、探测内网服务

可以使用file、dict、gopher、ftp等伪协议进行请求访问相应的文件

例如

127.0.0.1/ssrf.php?url=dict://team.wishsec.com:22

泄露了软件的版本

伪协议:file:读取服务器上任意文件内容*ssrf.php?url=file:///etc/password*dict:dict://@:/d:可以用来操作内网Redis等服务*ssrf.php?url=dict://attacker:11111/*ftp、ftps:FTP匿名访问、爆破*tftp:UDP协议扩展*imap/imaps/pop3/pop3s/smtp/smtps:爆破邮件用户名密码*phar://协议来触发反序列化漏洞*telnet:SSH/Telnet匿名访问及爆破*smb/smbs:SMB匿名访问及爆破*LDAP:ldap:// or ldaps:// or ldapi://代表轻量级目录访问协议Gopher:gopher://:/_后接TCP数据流在,SSRF中属于万金油,可以攻击内网的 FTP、Telnet、Redis、Memcache,也可以进行 GET、POST 请求,还可以攻击内网未授权MySQL。*

ssrf绕过

ssrf 主要是对协议路径的可控,所以目标会对内网地址等作出限制,这时可以使用一些方法绕过

1.http://baidu.com@www.baidu.com与http://www.baidu.com`请求时是相同的2.各种IP地址的进制转换例如:192.168.0.1(1)、8进制格式:0300.0250.0.1(2)、16进制格式:0xC0.0xA8.0.1(3)、10进制整数格式:3232235521(4)、16进制整数格式:0xC0A80001(5)、特殊写法(0可省略,在linux中127.0.0.1可以写成0.0.0.0)http://0/http://127.1/利用ipv6绕过,http://[::1]/ http://127.0.0.1./  3.302跳转可以使用 xip.io或者是xip.name 进行302跳转4.短网址绕过 http://t.cn/RwbLKDx5.限制了子网段,可以加 :80 端口绕过。http://tieba.baidu.com/f/commit/share/openShareApi?url=http://10.42.7.78:806.dns解析如果目标对域名或者IP进行了限制,那么可以使用dns服务器将自己的域名解析到内网ip

ssrf总结

ssrf怎么找
1.分享通过URL地址分享网页内容2.转码服务通过URL地址把源地址的网页内容调优使其适合手机屏幕浏览3.在线翻译通过URL地址翻译对应文本的内容,例如有道、百度等4.图片的加载或下载通过URL地址加载或者下载图片,查看图片来源是否是同源的url5.图片、文章的收藏功能(这个本人没有尝试过)6.未公开的api7.从url的关键字寻找存在share、url、wap、display等可能存在
ssrf怎么防御
1.禁用其他协议,允许http、https2.统一错误回显信息3.过滤返回的信息4.限制请求的端口5.对内网的IP做白名单
ssrf怎么攻击

攻击方式上面以及说了,这里说一下绕过的技巧

添加端口号短网址绕过指向任意IP的域名xip.io:10.0.0.1.xip.io   resolves to   10.0.0.1www.10.0.0.1.xip.io   resolves to   10.0.0.1mysite.10.0.0.1.xip.io   resolves to   10.0.0.1foo.bar.10.0.0.1.xip.io   resolves to   10.0.0.1IP限制绕过:十进制转换 八进制转换 十六进制转换  不同进制组合转换协议限制绕过:当url协议限定只为http(s)时,可以利用follow redirect 特性构造302跳转服务,结合dict:// file:// gopher://DNS重绑定1.特定域名实现TTL=02.域名绑定两条记录(ceye.io即可)3.自己搭建DNS服务器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值