文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SSRF(3)伪协议读取文件&Gopher协议的利用

2023-10-01 21:23

关注

一:Http、Dict和file等协议的利用

1,内网访问

所以构造:

/?url=http://127.0.0.1/flag.php

得到:

ctfhub{ce475b59a4baee959112777b}

2,伪协议读取文件

最经典的PHP伪协议就是file:///协议了,可以用来读取php源码

构造payload:

/?url=file:///var/www/html/flag.php

 得到:

在单击右键查看源代码:

 得到flag:

ctfhub{2cb81fa54b60a1977eee2f4b}

3,端口扫描

我们就要利用ssrf漏洞探测目标主机上还开放了哪些端口。在SSRF中,dict协议与http协议可用来探测内网的主机存活与端口开放情况。

burpsuite来抓包:

先打开burpsuite,打开FoxyProxy代理,开始抓包

传到Intruder,构造:

 字典爆破:

 开始攻击,发现在8442端口长度异常:

 再利用ssrf加http协议访问目标主机的8592端口即可得到flag:

 ctfhub{d037b2d4334473f351160228}

 

二,gopher协议利用

理论:

Gopher是Internet上一个非常有名的信息查找系统,它将Internet上的文件组织成某种索引,很方便地将用户从Internet的一处带到另一处。在WWW出现之前,Gopher是Internet上最主要的信息检索工具,Gopher站点也是最主要的站点,使用tcp70端口。

但在WWW出现后,Gopher失去了昔日的辉煌。现在它基本过时,人们很少再使用它;

gopher协议支持发出GET、POST请求:可以先截获get请求包和post请求包,在构成符合gopher协议的请求。gopher协议是ssrf利用中最强大的协议

Gopher协议格式

URL:gopher://:/_后接TCP数据流

Gopher发送请求HTTP GET请求:

使用Gopher协议发送一个请求,环境为:nc起一个监听,curl发送gopher请求

nc启动监听,监听2333端口:nc -lp 2333

使用curl发送http请求,命令为

root@kali ~# curl gopher://192.168.17.129:2333/abcd

此时nc收到的消息为:

root@Ubuntu ~# nc -lp 2333bcd

可以发现url中的a没有被nc接受到,如果命令变为

root@kali ~# curl gopher://192.168.17.129:2333/_abcd

此时nc收到的消息为:

root@Ubuntu ~# nc -lp 2333abcd

所以需要在使用gopher协议时在url后加入一个字符(该字符可随意写)

那么如何发送HTTP的请求呢?例如GET请求。此时我们联想到,直接发送一个原始的HTTP包不就可以吗?在gopher协议中发送HTTP的数据,需要以下三步:

构造HTTP数据包
2、URL编码、替换回车换行为%0d%0a
3、发送gopher协议

准备一个PHP代码

一个GET型的HTTP包,如下:

GET /ssrf.php?name=c0tfl0g HTTP/1.1Host: 192.168.17.1

URL编码后为:

curl gopher://192.168.17.1:80/_GET%20/ssrf.php%3fname=c0tfl0g%20HTTP/1.1%0d%0AHost:%20192.168.17.1%0d%0A

问号(?)需要转码为URL编码,也就是%3f
2、回车换行要变为%0d%0a,但如果直接用工具转,可能只会有%0a
3、在HTTP包的最后要加%0d%0a,代表消息结束(具体可研究HTTP包结束) 

 先到这里

来源地址:https://blog.csdn.net/m0_64417923/article/details/124727098

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯