CSRF及SSRF漏洞案例讲解(29)

csrf(跨站请求伪造)

讲解一下这个图片,用户在浏览器登陆银行界面发送一个请求,通过转账,转载的数据包假如是下面那串字符,黑客呢就自己一个网站或控制一个网站,去写入一个代码,这个代码就是请求这个数据包,刚好这个用户访问到这个黑客的网站,触发网站里面植入的代码,出发了那个数据包,用户在银行系统上面是登陆状态,就相当于模拟访问了一下转账数据包。

这个就是cs的攻击过程,比如说我在我个人博客上面插入一个代码,你访问我的博客,在浏览器里面就不知不觉产生一个付款数据包,此时付款网站已经授权登录就会造成csrf攻击,很多网站都已经有防御,还是有一些没用。

#演示一下,

打开pikachu靶场

打开csrf,get提交方式的哪一个,然后输入账户kobe,密码123456,登陆进入这个界面

 个人中心一般都有修规个人资料的权限

这时候访问这个地址,访问这个数据包的时候就会修改这个信息。

 这时候随便一个,比如我自己的网站,或者服务器,打开他的源码,写上一串script代码,

 

太长了没有全部显示出来,这个代码的做用就是别人访问到这个html代码的时候,会请求单引号阔i起来的地址。

这个时候我们去访问一下这个攻击代码的网站

我们再去看一下我们原本的网站。我没有进行修改,网站访问玩那个网站信息就不知不觉被修改了

 这就是一个典型的csrf攻击,那么同样的道理,如果是添加管理员的呢,假如你知道网站后台的一些情况,有他的cms或者源码,你在本地搭建之后,测试出在后台添加管理员账户密码的数据包,把它构造出来之后,这时候就可以放到自己的网址上去,然后引诱对面管理员去访问网址,出发数据包,如果刚好对面已经登陆了,就会自动添加一个管理员,就可以去登陆。

他和跨站的区别,他借助了其他的网站,去触发自动添加管理员的代码,而不是在本站地址上面去触发这个代码。

如何去检测csrf

随便找一个网址,一般都是可以修改信息或者更新信息的网站,比如说要修改它的信息,抓一下修改东西的数据包,再去测试,

就会进入这个界面

 

 然后去自己的本地去搭建这个html,

 去访问这个网站

 然后点一下为一个按钮就可以直接,直接实现更改数据,实际上我们可以修改源码为不点击那个东西,只是访问就可以执行成功。

现在知道我们如何检测了,但是他有几个前提条件,测试地方选取,csrf一般出现在可以修改数据的地方,或可以添加数据的地方。

#     防御方案

1、当用户发送重要的请求时需要输入原始密码

2、设置随机Token,检测数据包唯一性,最有效

3、检验referer来源,请求时判断请求链接是否为当前管理员正在使用的页面(管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败)

4、设置验证码

5、限制请求方式只能为POST 

讲最有效的一种,设计随机token,数据包的前面是有一个编号的,编号是唯一的,比如刚刚的测试,假如本站编号是1,而搭建的网站编号是2,本站在执行的时候检测到编号不对,就不给予执行,token就类似给每一个数据包生成唯一的编号。

同理在数据包里面发现token,就是这个csrf有token防护的,csrf一般就不会有这个漏洞了,很直接能告诉你有没有这个漏洞。

这个就有点像那个同源策略,检测你的来源相不相同,但是同源策略是可以伪造的,我们抓一下数据包i看看来源,

 但是这个可以通过我们二次抓包修改来实现操纵i的,伪造来源,来绕过。这也是一种防御手段,但不安全。而token就没有办法,因为那一长串的字符是随机生成的,而且位数特别多。

这个漏洞不是很常见,大部分网站漏洞也都会有防御,一般会出现在中小型网站,是一个逻辑安全漏洞。

#SSRF(服务器请求伪造)

大中小网站一般对这个ssrf漏洞都会存在安全问题,大中小基本上都会有。

他能做什么,会从外网来触发到内网系统,主要涉及到内网内部的一些系统的安全性

原因就是,举个例子就好理解,假如我个人电脑在局域网理解,我在电脑上开个虚拟机,然后你想通过虚拟机来访问我的内内网,访问不到,因为只有本机可以访问内网,他就可以借助到虚拟机的web,然后利用ssrf漏洞,来探针到我的内网信息。ssrf就是做这个事情的,它的危害主要就是这个样子。

它主要产生在网站的一些应用上面,分享,转码服务,在线翻译,图片的上传和下载,图片或文章的收藏功能,apl接口,会产生在这些地方,如果要找ssrf漏洞,就放在这些应用比较好好找。也可以通过一些网站的关键字,上面的图片里面有。

#老师模拟一下,打开靶场

 这个靶场针对于网站最长碰见的一种,打个比方在上传的文件的时候,有一些叫本地上传,有一些叫远程上传,远程上传就是产生ssrf很明白的一个应用,为什么远程上传上有,远程上传就很简单,比如我们想远程上传一个图片,只需要输入上图片地址,上传就会将这个远程文件上传到他自己的地方。

在这个上传的过程中,它会不会去请求,去访问那个输入的图片地址,这明显是会的,

 访问那个远程地址,老师这里只做了一个显示出来它的内容。实际情况下,会进行文件的读取保存到本地上来。

 那我们这时候就可以去请求访问他的本地地址试试,加上端口号3306,这个端口号是mysql数据的端口,然后外面访问一下试试

 这就返回了一个版本号,通过这个漏洞就可以实现对内网的探针,也可以换成别的ip去获取信息,正常情况下使用者是访问不到其他服务器或内网的信息,而我们用这个,ssrf漏洞访问到了,这是为什么

假如内网里面有两台主机,a和b都在一个内网里面,现在有一个攻击通过一个网站的ssrf漏洞,去请求a,b主机的信息,如果他攻击者不通过web直接去请求a,b主机,不能请求到,因为a,b主机在内网里面,但是它可以通过一个和a,b主机有链接的网站,通过ssrf漏洞去请求a,b的信息,只要跟web服务器有链接的都可以请求。攻击者可以利用网站ssrf漏洞通过ip地址去请求信息目标。

这时候里面会问那个内网ip地址该怎么去获取,内网系统的ip地址是私有的,网上有多少个内网地址,就那么几个192.168  10.多少多少,直接做一个字典跑一下,看一下那个ip地址有返回信息,那个就是ip地址,一般就是192.168后面两个可能会有变化,就可以直接搞个常见端口135,只要跑的时候有返回信息,这个ip地址就是存活的。

漏洞攻击:端口扫描,指纹识别,漏洞利用,内网探针等  这些都能进行

协议使用案例

http://192.168.64.144/phpmyadmin/

file:///D:/www.txt   直接访问本机www.txt文件内容

dict://192.168.64.144:3306/info    探针端口号开发情况,

ftp://192.168.64.144:21    探针对方ftp是否开放,这个是跟设置有关的的,有的直接访问c盘,或者别的,还有要登陆的

在使用ssrf的时候这个支持面和对方的脚本代码有关系的,写上对的就是支持这种协议请求,叉号就是不支持那个协议。

#本地搭建实例演示

打开搭建好的靶场

 

 上面有信息,这个地址就可以用,然后在探针它有拿下端口,假如我们探针到了8080端口,

 复制下来去网上搜一下,

就报出来过他的远程执行漏洞, 那个payload就可以直接用,

我们在主机站上访问演示一下,访问那个网址之后,就自动添加了一个管理员

 找的真实网站

编译  http://127.0.0.1

 

 而搜索127.0.0.1就是这样的结果,所以他是有ssrf的漏洞的,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值