漏洞原理到利用 之 SSRF-服务端请求伪造

humbie   ·   发表于 2022-10-04 15:52:31   ·   学习杂记

CSRF(跨站请求伪造):浏览器因为JS偷偷的发送数据包。
SSRF(服务器端请求伪造):服务器因为你的传参偷偷发送数据包。

注意:SSRF漏洞不是很常见

我的传参为什么会让服务器发送数据包:
语言不好时:使用翻译软件。这个时候可以贴网址让翻译软件翻译网址。
单词翻译原理:POST/GET传参 数据库查询
翻译网页原理:1.()你访问了目标站点,然后翻译网页的网站通过JS获取你页面显示的信息,然后传递给翻译网页去查
2.(一般都是这个方法)翻译网站直接替代我们去访问那个目标站点,然后获得内容后查询英文对应,然后处理完返回给我们。
检测是哪个方法:查看外网IP(https://www.baidu.com/s?wd=ip)这个东西本地查是自己外网IP(属地吉林),但是如果翻译这个网页,查到的不是我的IP(是江苏),就是第二种方法。
注意上面不是网页内右键翻译,而是在翻译单词框里粘贴网址。
这就是典型的SSRF:我们传参然后服务器去访问:
危害:1.访问内网(外紧内松,访问到内网就容易攻击)
2.隐藏攻击者(当做跳板机来躲避追踪)
3.攻击目标本机(dict:// file:// 读取文件)
(有些网站和WAF不拦截SSRF,对127.0.0.1不设防)
dict://192.168.1.1:81 探测网站端口,网站开端口了就秒回,没开就转圈。
file://绝对路径 可以读取非根目录文件。比如找代码中数据库账户密码。
访问到了php可能是网页空白,因为php一定会被浏览和谐,查看源代码即可。

和XSS联动:把反射型XSS或存储型XSS给服务器访问,利用SSRF泄露cookie

SSRF核心:穿越防火墙攻击内网

找漏洞思路:找url传参,或者传参里的网址。把网址改成dnslog.cn里的站,看看有没有被访问。
访问DNSlog的前提是有外网,要是没有外网就上所有内网地址强扫。

SSRF:在项目上能发起请求就属于漏洞(特定网站功能除外(比如翻译)),在SRC挖掘|利用上,要能访问内网和本机才有杀伤力。

靶场:
dict://127.0.0.1:80 开了,81也开了。
127的81指的是存在SSRF漏洞主机的端口,域名:81是域名对应ip的81端口。
靶场http://127.0.0.1:81 源码有flag(正常应该爆破端口。)

扩展内容(不要求掌握)(课件有风哥文章):
gopher协议:可以发起TCP数据流。
redis未授权访问(SSRF攻击的东西)
redis缓存数据库,一般没有密码。(用wireshark抓本机的TCP流,用gopher换SSRF的数据流)

简单绕过:127不允许访问或者有白名单:
利用http://www.baidu.com@127.0.0.1(这是会访问@后面的)
替换法:把IP换成纯数字,可以上网找方法。

打赏我,让我更有动力~

0 条回复   |  直到 2022-10-4 | 515 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.