ctf_show笔记篇(web入门---SSRF)

ssrf简介

ssrf产生原理:

  1. 服务端存在网络请求功能/函数,例如:file_get_contens()这一类类似于curl
  2. 这种函数传入的参数用户是可控的
  3. 没有对用户输入做过滤导致的ssrf漏洞


ssrf利用:

  1. 用于探测内网服务以及端口
  2. 探针存活主机以及开放服务
  3. 探针是否存在redis服务(未授权访问, 相当于是可以访问到redis服务并且开发人员不严谨没有设置密码,  因为默认是没有密码的,  或者说开发者设置了密码但是是弱口令),  利用定时任务反弹shell

目录

ssrf简介

web351:

web352-353:

web353:

web355-web356:

web357:

web358:

web359:

web360:


web351:

简单的无过滤的ssrf,  利用file协议去读取本地文件

web352-353:

必须以http或者https开头不能用127.0.0或者localhost

可以利用进制绕过0x开头是16进制

注意,  这里的16进制不是把127.0.0.1直接转成16进制,  而是127=7F  0=0  0=0  1=1直接串起来

这里使用127.0.0.1是因为很多文件是不能直接去访问的,  没有权限,  通过ssrf让他自己访问他自己然后在输出出来,  那这就不是我们去访问的了,  就是他自己拿出来给我们的

payload:

0x7F000001

web353:

这里利用其他网站域名指向ip 127.0.0.1绕过

payload:

http://safe.taobao.com/flag.php

web355-web356:

在linux中0指向自己的本地ip127.0.0.1

parse_url()是PHP中用于解析URL并返回其组成部分的函数。可以提取URL中的各个部分,如协议(scheme)、主机(host)、端口(port)、用户信息(user、pass)、路径(path)、查询字符串(query)以及片段(fragment)

以类似字典的方式保存

这里要求host部分小于五个字符

payload:

http://0/flag,php

web357:

gethostbyname()是PHP中的一个函数,用于获取指定主机名的IP地址。这个函数可以通过给定主机名,返回相应主机的IPv4地址。如果主机名无效,则函数返回主机名本身

在PHP中,filter_var()函数结合FILTER_VALIDATE_IP过滤器可以用来验证一个IP地址的有效性。在这个例子中,FILTER_FLAG_NO_PRIV_RANGEFILTER_FLAG_NO_RES_RANGE是额外的标志,用于指定不接受私有IP地址和保留IP地址。

  • FILTER_VALIDATE_IP:指定要验证的过滤器类型,用于验证IP地址。
  • FILTER_FLAG_NO_PRIV_RANGE:指示filter_var()函数不接受私有IP地址。私有IP地址范围包括:
    • 10.0.0.0 至 10.255.255.255
    • 172.16.0.0 至 172.31.255.255
    • 192.168.0.0 至 192.168.255.255
  • FILTER_FLAG_NO_RES_RANGE:指示filter_var()函数不接受保留IP地址。保留IP地址范围包括:
    • 0.0.0.0 至 0.255.255.255
    • 169.254.0.0 至 169.254.255.255
    • 127.0.0.0 至 127.255.255.255
    • 224.0.0.0 至 239.255.255.255

利用302重定向访问127.0.0.1的原理获得flag绕过过滤


302重定向是HTTP状态代码之一,表示临时性的重定向。当服务器收到客户端的请求后,如果需要将请求的资源临时重定向到另一个URL,但未来可能会恢复到原始URL时,就会返回302状态码。这意味着客户端应该继续使用原始URL进行后续请求,因为重定向是暂时的。302重定向常用于网站维护、临时性更改或者流量控制等场景。

相当于是123.com指向ip172.16.X.X,  但是访问以后重定向了127.0.0.1,  通过这个绕过

我这里在自己的主机写了个重定向脚本,  利用小米球开一个公网域名给自己的机子让靶场来访问重定向

web358:

这一题写了必须以http://ctf.开头以show结尾,  结尾倒是好弄?show或者#show都可以,  前面呢就利用@符号就可以绕过

payload:

http://ctf.@127.0.0.1/flag.php?show

web359:

这里提示了打没有密码的mysql

这一题就要用到ssrf里的万精油gopher协议了

使用 gopherus工具去构造攻击语句

抓包测试,  这里明显已经提示了,  直接尝试访问www.百度

直接使用gopheros构造攻击语句注入一句话木马

这个工具可以构造很多模块的工具,  不止mysql,  redis也可以,  但前提是有未授权访问

这里不知道是没有url加密好还是怎么回事,  需要在 拿去url加密一次

看跟目录的时候出现两个flag.  直接一起读取了

web360:

这里就是redis服务了,  这个服务最开始的ssrf简介有说过

这里还是利用工具构造payload

这里会让你选是要反弹服务器shell还是直接phpshell,  反弹shell的化他会将你写的监听的ip和端口写到定时任务里,  攻击机用nc监听,  过一会儿就能拿到shell

这里有提示写入文件

成功写入

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SSRF(Server-Side Request Forgery,服务器端请求伪造)是一种安全漏洞,通过利用服务器端请求功能,攻击者可以发送来自目标服务器的请求。在CTF比赛中,SSRF通常用于获取敏感信息或攻击内部系统。 在引用中提到了一系列与SSRF相关的内容,包括web351、web352、parse_url以及更改IP地址的写法等。些内容可能是指在CTF比赛中的具体题目或技术细节。 引用提到了SSRF的原理,即通过在URL中加入特殊字符来绕过解析过程,******<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ctfshow-web入门 ssrf](https://blog.csdn.net/weixin_45696568/article/details/114434596)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ctfshow--ssrf](https://blog.csdn.net/ing_end/article/details/124369282)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [ctfshow ssrf](https://blog.csdn.net/weixin_52240463/article/details/122659261)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪兽不会rap_哥哥我会crash

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值