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

news/2024/5/20 0:14:55 标签: 笔记, ctf, ctfshow, ssrf, gopher协议, gopherose

ssrf%E7%AE%80%E4%BB%8B">ssrf简介

ssrf产生原理:

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


ssrf利用:

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

目录

ssrf%E7%AE%80%E4%BB%8B-toc" style="margin-left:40px;">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

这里有提示写入文件

成功写入


http://www.niftyadmin.cn/n/5476557.html

相关文章

网络I/O处理

引言:网络数据能够正常到达用户并且被接收是进行网络传输的根本目的,网络传输的数据发送和接收有多种方案,本文章就对通过向量接收和发送等数据传输方式,并且对多种I/O模型进详细分析介绍。 目录 一.I/O函数 1.1 recv和send rec…

UE4_动画基础_角色的缩放

以第三人称模板进行制作。 一、首先为角色缩放新建粒子效果 1、新建niagara system,重命名为NS_Shrink。 2、双击打开设置参数: 发射器重命名: Emitter State: 发射器一次喷发数量: 粒子初始大小,生命周…

性能测试入门基本概念

1、价值与意义 1、生成服务,硬件需要升级、进行性能测试,之后对比服务的性能是否有效能提升,这样做有助于减少硬件上的投入。 2、预估生产环境,硬件配置、服务器的数量 3、日常工作的性能测试,例如:大促…

电脑开机启动项设置

电脑开机启动项设置 一、Windows 系统: 1、Windows 系统,可以通过【系统配置实用程序】来设置开机启动项: 1)、按【WinR】组合键,打开【运行】对话框。 2)、输入【msconfig】,点击【确定】或…

【Java基础】DOS命令

开始时间: April 8, 2024 结束时间: April 8, 2024 阶段: Done 绝对路径与相对路径 相对路径:从当前目录开始定位,形成的路径绝对路径:从**顶级目录,**开始定位,形成的路径 常用的 dos 命令 查看当前目录是有什么内…

二. Git基础命令

二. Git基础命令 1. 获取 Git 仓库2. 记录每次更新到仓库2.1 检查当前文件状态2.2 跟踪新文件2.3 暂存已修改的文件2.4 忽略文件2.5 查看已暂存和未暂存的修改2.6 提交更新2.7 跳过使用暂存区域2.8 移除文件2.9 移动文件2.10 版本回退 4. 撤消操作4.1 取消暂存的文件4.2 撤消对…

RFID涉密载体柜 RFID智能文件柜系统

涉密载体管控RFID智能柜(载体柜DW-G101R)通过对涉密物资、设备进行RFID唯一标识并放置于RFID设备涉密物资柜柜体,通过定位每台设备每件涉密物资的位置,实现涉密物资审批、自助借还、防盗等出入库全流程自动化管理。主要管理对象移…

6.9物联网RK3399项目开发实录-驱动开发之PWM的使用(wulianjishu666)

嵌入式实战开发例程,珍贵资料,开发必备: 链接:https://pan.baidu.com/s/1149x7q_Yg6Zb3HN6gBBAVA?pwdhs8b PWM 使用 前言 AIO-3399J 开发板上有 4 路 PWM 输出,分别为 PWM0 ~ PWM3,4 路 PWM 分别使用在…