侧边栏壁纸
博主头像
pingc

今天不学习,明天变乐色。

  • 累计撰写 8 篇文章
  • 累计创建 2 个标签
  • 累计收到 1 条评论

CSRF与SSRF速解

pingc
2022-05-03 / 0 评论 / 0 点赞 / 461 阅读 / 1,614 字

CSRF漏洞

CSRF(cross-sire request forgery,跨站请求伪造),攻击者通过恶意url欺骗用户点击,以用户的会话状态执行恶意操作,如更换密码,发送邮件等。

形成的原因是没有验证请求的可靠性,
构建个敏感的请求,引导管理员点击,管理员会用自己的身份去请求,照成CSRF攻击

当浏览器存有A网站的用户登录状态时,用户访问了非法B网站,B网站对A网站发起了修改密码的请求,该请求会以浏览器已登录的状态发起,所以修改成功。

CSRF例子

测试网站
假设用户登录了A网站,A网站存在转账功能。
image
我们事先测试,发现转账请求为:http://www.nanhack.com/payload/xss/csrf1.php?name=用户&money=金额
那么我们构建一个转账给自己的请求链接:http://www.nanhack.com/payload/xss/csrf1.php?name=pingc&money=1000

引导用户点击该链接,或者制作一个恶意页面,页面内构建代码访问这个转账请求,欺骗用户访问页面


<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
    <title>你的账户钱少了吧</title>
    <!-- <script>alert('你的账户钱少了吧!!😳');</script> -->
</head>
<body>
<img src="http://www.nanhack.com/payload/xss/csrf1.php?name=pingc&money=1000">
<!-- <a href="http://www.nanhack.com/user.php">返回用户管理</a> -->

</body>
</html>

访问后可以看到金额减少了
image-1651558845944

SSRF漏洞

SSRF(Server-Side Request Forgery,服务器端请求伪造),简单来说就是可以以服务端的身份发起url请求,获取到客户端无法获取到的数据。
网站接受url为参数,且会访问该url并返回内容时,如果没对参数做过滤,就会导致SSRF漏洞。
我们正常是访问不到网站所在的内网服务,但网站存在SSRF时,我们通过传参http://127.0.0.1:8080,就可以访问到内网127.0.0.1:8080的服务。

形成的原因就是没有对URL进行过滤,导致可以输入任意url。

SSRF例子

如果服务器有一个访问网络图片或地址的功能,那么填http://127.0.0.1等本地的地址,就会上传访问服务器本地的文件信息。
没找到适合演示的,就先这样。

SSRF过滤绕过

必须包含指定url

http://www.baidu.com@127.0.0.1与http://127.0.0.1 请求是相同的

其他写法

http://127.0.0.1
http://localhost
http://127.255.255.254
127.0.0.1 - 127.255.255.254
http://[::1]
http://[::ffff:7f00:1]
http://[::ffff:127.0.0.1]
http://127.1
http://127.0.1
http://127。0。0。1
http://0:80

进制转换

192.168.0.1
(1)、8进制格式:0300.0250.0.1
(2)、16进制格式:0xC0.0xA8.0.1
(3)、10进制整数格式:3232235521
(4)、16进制整数格式:0xC0A80001
整数或DWORD

利用短网址(跳转)

0

评论区