【CSRF&SSRF】---漏洞案例讲解---day29

【CSRF&SSRF】---漏洞案例讲解---day29

一、CSRF---跨站请求伪造攻击

1、解释

【CSRF&SSRF】---漏洞案例讲解---day29

2、原理

①pikachu靶场演示

在pikachu的CSRF中测试get

【CSRF&SSRF】---漏洞案例讲解---day29

然后进去之后点击修改个人信息

【CSRF&SSRF】---漏洞案例讲解---day29

修改手机号后,抓包。

【CSRF&SSRF】---漏洞案例讲解---day29

相当于发送这个请求的时候,就会修改电话号

【CSRF&SSRF】---漏洞案例讲解---day29

那么,我们可以在另外新建一个网页,把这个网页放到公网服务器上,然后诱导管理员去点击这个网页,并且管理员已经登录了后台,那么执行了伪造网页中的 js代码,就会神不知鬼不觉的修改了电话号,实战中可以添加管理员。

payload

<script src='http://127.0.0.1/pikachu/vul/csrf/csrfget/……'></script>

【CSRF&SSRF】---漏洞案例讲解---day29

3、测试有没有这个漏洞

burp插件

【CSRF&SSRF】---漏洞案例讲解---day29

生成poc

【CSRF&SSRF】---漏洞案例讲解---day29

然后把poc代码放到服务器上,本地测试就行了。

4、防御方案

【CSRF&SSRF】---漏洞案例讲解---day29

①Token

最有效的方法就是设置随机Token,Token可以确定唯一地数据包。

在CSRF token里看一下数据包。

【CSRF&SSRF】---漏洞案例讲解---day29

【CSRF&SSRF】---漏洞案例讲解---day29

重新请求的话,token的值会变。

②Referer头

同源策略,Referer判断是否为同一个域名下的。如果不是的话,就不予以执行。

但是这个可以通过抓包修改,来伪造成同源。

二、SSRF---服务端请求伪造

1、解释:

SSRF(Server-side Request Forge, 服务端请求伪造)。
由攻击者构造的攻击链接传给服务端执行造成的漏洞,一般用来在外网探测或攻击内网服务。

【CSRF&SSRF】---漏洞案例讲解---day29

2、危害:

扫内网

向内部任意主机的任意端口发送精心构造的Payload

DOS攻击(请求大文件,始终保持连接Keep-Alive Always)

攻击内网的web应用,主要是使用GET参数就可以实现的攻击(比如struts2,sqli等)

利用file协议读取本地文件等

【CSRF&SSRF】---漏洞案例讲解---day29

3、案例演示

①代码:

【CSRF&SSRF】---漏洞案例讲解---day29

②界面:

【CSRF&SSRF】---漏洞案例讲解---day29

③利用

  • 本地上传

  • 远程上传:

    远程上传的时候,会让用户输入一个远程的地址,比如说http://www.xxxx.com/aaa.jpg这个地址是个图片,那么服务端就回去访问这个地址。

如果把这个地址恶意利用,请求本地

【CSRF&SSRF】---漏洞案例讲解---day29

那么服务端就会请求本地的信息。

可以请求本地的端口,比如127.0.0.1:3306,请求mysql的端口。

【CSRF&SSRF】---漏洞案例讲解---day29

返回了版本号信息。

可以进行一个端口的扫描。除此之外,还可以当做内网的探针,比如说让服务器请求自己已经打开的虚拟机,类比到内网之中,就实现了内网探测。

【CSRF&SSRF】---漏洞案例讲解---day29

内网ip可以用字典跑,一般都是192.168.xxx.xxx,端口用常见的端口就可以了。

【CSRF&SSRF】---漏洞案例讲解---day29

dict协议,ftp协议,查看是否开放协议的这个端口。

https://www.t00ls.net/articles-41070.html

三、CSRFTester安全测试工具

教程

http://luckyzmj.cn/posts/a1b686d3.html

【CSRF&SSRF】---漏洞案例讲解---day29

下载好这个cms之后,放到PHPstudy里面。

【CSRF&SSRF】---漏洞案例讲解---day29

【CSRF&SSRF】---漏洞案例讲解---day29

一系列的设置

【CSRF&SSRF】---漏洞案例讲解---day29

数据库密码是root,害得自己猜。

【CSRF&SSRF】---漏洞案例讲解---day29

登录后,先开启CSRFTester监听

【CSRF&SSRF】---漏洞案例讲解---day29

完事儿之后,准提交表单奥。

在CSRFTester里找到提交的表单数据包,将其原来数据修改为admin2数据,然后点击右下角 Generate HTML 保存到指定目录,会生成一个index.html文件

【CSRF&SSRF】---漏洞案例讲解---day29

这里我放到了桌面上

【CSRF&SSRF】---漏洞案例讲解---day29

打开index.html将末尾form里面的代码全删除掉

【CSRF&SSRF】---漏洞案例讲解---day29

修改完后,使用同个浏览器打开index.html,页面返回success

【CSRF&SSRF】---漏洞案例讲解---day29

【CSRF&SSRF】---漏洞案例讲解---day29

再返回查看会员列表页面,可以发现已经成功添加了admin2用户

【CSRF&SSRF】---漏洞案例讲解---day29

上一篇:CTFhub--SSRF


下一篇:shell 字符截取