[网鼎杯 2020 玄武组]SSRFMe

[网鼎杯 2020 玄武组]SSRFMe

源码

<?php
function check_inner_ip($url)
{
    $match_result=preg_match('/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/',$url);
    if (!$match_result)
    {
        die('url fomat error');
    }
    try
    {
        $url_parse=parse_url($url);
    }
    catch(Exception $e)
    {
        die('url fomat error');
        return false;
    }
    $hostname=$url_parse['host'];
    $ip=gethostbyname($hostname);
    $int_ip=ip2long($ip);
    return ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip>>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long('192.168.0.0')>>16 == $int_ip>>16;
}

function safe_request_url($url)
{

    if (check_inner_ip($url))
    {
        echo $url.' is inner ip';
    }
    else
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        $output = curl_exec($ch);
        $result_info = curl_getinfo($ch);
        if ($result_info['redirect_url'])
        {
            safe_request_url($result_info['redirect_url']);
        }
        curl_close($ch);
        var_dump($output);
    }

}
if(isset($_GET['url'])){
    $url = $_GET['url'];
    if(!empty($url)){
        safe_request_url($url);
    }
}
else{
    highlight_file(__FILE__);
}
// Please visit hint.php locally.
?>
  • 题目给了提示,请在本地访问hint.php。
  • 代码不算难懂:就是只能使用这些协议:http|https|gopher|dict,而且还进行了过滤不严的127.0.0.1,直接使用0.0.0.0绕过
    [[ssrf绕过#绕过127.0.0.1]]
    访问得到
<?php
if($_SERVER['REMOTE_ADDR']==="127.0.0.1"){
  highlight_file(__FILE__);
}
if(isset($_POST['file'])){
  file_put_contents($_POST['file'],"<?php echo 'redispass is root';exit();".$_POST['file']);
}
  • 尝试绕过死亡exit(),但是/var目录没有写了权限,/tmp目录有写入权限
  • 而且这里给了提示:redis pass is root 告诉我们密码是root

主从复制

[[redis-主从复制]]

原理

  • 字面意思,redis为了数据更改方便,有这一模式,主机的内容更改会导致从机的内容跟着更改。
  • 这时我们将自己的服务主机设置为主机,目标的设置为从机,则从机会有主机的执行脚本,从而rce
  • 详细的参考博客
    redis主从复制

使用

准备工作

需要使用
https://github.com/xmsec/redis-ssrf 和 https://github.com/n0b0dyCN/redis-rogue-server 下的exp.so文件

使用过程
  • 在自己的服务主机里把这两个py文件和exp.so传至同一目录下,也可以开个小号使用buu内网
更改ssrf-redis.py内容
  • 这里只需要更改4处内容就行
    lhost改为自己或者buu内网的IP,command改为执行的命令
    image.png
    更改ip绕过本题的waf
    image.png
    根据提示填入passwd为root
    image.png
生成payload启动服务

image.png
只是在kali下演示一下,自己主机得到的回显
image.png
使用payload得到flag,要进行二次编码
image.png

反弹shell

参考下一篇文章
[网鼎杯 2020 玄武组]SSRFMe-反弹shell

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/529804.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

解决grafana报错This panel requires Angular (deprecated).

背景&#xff1a;使用docker部署了prometheus,grafana,node exporter和cadvisor 然后去grafana官网下载成熟的模板导入到平台&#xff0c;发现模板上的图标全部报错This panel requires Angular (deprecated). 解决方法&#xff1a;修改grafana配置文件&#xff0c;如下&…

电脑开机提示“no bootable device”,无法进入系统

当您的Windows 10电脑开机时提示“no bootable device”,这意味着计算机无法找到一个可以启动操作系统的设备。这个问题通常与硬件连接、BIOS设置、硬盘问题、引导扇区故障或系统文件损坏等有关。以下是一系列详细的解决步骤: 检查硬件连接:关闭电脑,拔掉电源线,打开机箱检…

合并单元格的excel文件转换成json数据格式

github地址: https://github.com/CodeWang-Ay/DataProcess 类型1 需求1: 类似于数据格式: https://blog.csdn.net/qq_44072222/article/details/120884158 目标json格式 {"位置": 1, "名称": "nba球员", "国家": "美国"…

threejs 基础知识点汇总

threejs 基础知识点汇总 之前写了几篇博文&#xff0c;但是我觉得写的不好&#xff0c;我今天再补充一篇还不好的&#xff0c;把基础知识点汇总一下&#xff0c;不写运行的代码了&#xff0c;只写关键代码&#xff0c;但是看了之前我写的那几篇&#xff0c;看这篇的话问题其实不…

PTA(题目集三 题目 代码 C++ 注解)

目录 题目一&#xff1a; 代码&#xff1a; 题目二&#xff1a; 代码&#xff1a; 题目三&#xff1a; 代码&#xff1a; 题目四&#xff1a; 代码&#xff1a; 题目五&#xff1a; 代码&#xff1a; 题目六&#xff1a; 代码&#xff1a; 题目七&#xff1a; 代码…

如何利用AI绘制美观的地学图片摘要--提供各类矢量的地表地形和植被元素

我们经常在高级期刊的文章里面见到类似以下的图片&#xff08;Anatomy of a Glacier - Glacier Bay National Park & Preserve (U.S. National Park Service)&#xff09; 这样的表达对于研究结果非常生动形象。下面的这个网站提供了很多类似的元素&#xff0c;可以有助于我…

MySQL8.0.36-社区版:Windows和Linux上的应用部署(1)

简介&#xff1a; 本章不做过多的介绍了&#xff0c;你可以去官方的文章查看到更详细&#xff0c;更专业的介绍&#xff0c;我这里直接讲解如何进行安装 MySQL :: MySQL Documentationhttps://dev.mysql.com/doc/ Windows部署 这里我使用的是win10专业版系统 MySQL :: Dev…

Java项目——瑞吉外卖笔记

hello&#xff0c;你好鸭&#xff0c;我是Ethan&#xff0c;很高兴你能来阅读&#xff0c;昵称是希望自己能不断精进&#xff0c;向着优秀程序员前行!&#x1f4aa;&#x1f4aa;&#x1f4aa; 目前博客主要更新Java系列、数据库、项目案例、计算机基础等知识点。感谢你的阅读和…

使用MQTT.fx接入新版ONENet(24.4.8)

新版ONENet使用MQTT.fx 模拟接入 目录 新版ONENet使用MQTT.fx 模拟接入开始前的准备创建产品设备获取关键参数 计算签名使用MQTT.fx连接服务器数据流准备与上传数据流准备数据发送与接收 开始前的准备 创建产品 设备下载Token签名工具生成签名 创建产品设备 根据以下内容填写…

算法四十天-删除排序链表中的重复元素

删除排序链表中的重复元素 题目要求 解题思路 一次遍历 由于给定的链表是排好序的&#xff0c;因此重复的元素在链表中的出现的位置是连续的&#xff0c;因此我们只需要对链表进行一次遍历&#xff0c;就可以删除重复的元素。 具体地&#xff0c;我们从指针cur指向链表的头节…

C++类与对象上(个人笔记)

类与对象 1.面向过程和面向对象初步认识2.类的定义3.类的访问限定符及封装3.1 访问限定符 4.封装5.类的实例化6.类对象6.1类对象的内存计算6.2内存对齐规则&#xff08;回顾&#xff09; 7.this指针7.1 this指针的特性 1.面向过程和面向对象初步认识 C语言是面向过程的&#x…

Java考题讲解一共5套,也可以在线刷题

【拯救者】Java刷题训练(二级专升本期末自考必备) &#x1f4d9;巩固基础 &#x1f4dc;知道考点 狠狠提分⬆️ (二级专升本期末自考必备) 大纲 一共5套题,每套可以先看视频,然后刷题. 末尾汇总了5套选择 填空 判断题, 优点: 可以查看解析和错题

L2-021 点赞狂魔

输出标签出现次数平均值最小的那个是指标签出现次数K。 模拟。 #include<bits/stdc.h> using namespace std; #define int long long const int n1e611; int a,b,c,ss; struct s {int x,z;string y; }q[n]; bool cmp(s a1,s a2) {if(a1.x!a2.x)return a1.x>a2.x;e…

C语言进阶课程学习记录-第26课 - 指针的本质分析

C语言进阶课程学习记录-第26课 - 指针的本质分析 *号实验-指针的大小实验-传址交换数值实验-const与指针小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&#xff0c;图片全部来源于课程PPT&#xff0c;仅用于个人学习记录 *号 实验-指针的大小 #include <stdio.h…

LeetCode 836. 矩形重叠

解题思路 相关代码 class Solution {public boolean isRectangleOverlap(int[] rec1, int[] rec2) {int x1 rec1[0];int y1 rec1[1];int x2 rec1[2];int y2 rec1[3];int a1 rec2[0];int b1 rec2[1];int a2 rec2[2];int b2 rec2[3];return Math.min(y2,b2)>Math.max…

【QT学习】4.对话框学习,浮动窗口,模态对话框,非模态对话框,消息框,文件对话框

1.浮动窗口 代码&#xff1a; //制作核心控件&#xff1a;文本编辑框QTextEdit* pTextEditnew QTextEdit;//制作浮动控件connect(pMenu1,&QMenu::triggered,[](QAction* pAction){qDebug()<<pAction->text()<<endl;if(pAction->text()"浮动控件&quo…

一文介绍CNN/RNN/GAN/Transformer等架构 !!

文章目录 前言 1、卷积神经网络&#xff08;CNN&#xff09; 2、循环神经网络&#xff08;RNN&#xff09; 3、生成对抗网络&#xff08;GAN&#xff09; 4、Transformer 架构 5、Encoder-Decoder架构 前言 本文旨在介绍深度学习架构&#xff0c;包括卷积神经网络CNN、循环神经…

javaScript常见对象方法总结

1&#xff0c;object.assign() 用于合并对象的属性。它可以将一个或多个源对象的属性复制到目标对象中&#xff0c;实现属性的合并。 语法 Object.assign(target, ...sources); 1,target&#xff1a;目标对象&#xff0c;将属性复制到该对象中。 2,sources&#xff1a;一个…

2024大环境差、行业卷,程序员依然要靠这份大厂级24 W字java面试手册成功逆袭!

2024大环境差、行业卷&#xff0c;程序员该怎么办&#xff1f; 2024年金三银四程序员跳槽或者找工作并不理想&#xff0c;迟迟找不到工作&#xff0c;甚至大厂还进行几轮裁员&#xff0c;导致整个就业市场都不是太好&#xff01; 出现这种情况是因为中美贸易战&#xff0c;导…

HubSpot出海营销CRM的创新实践:引领行业变革

在全球化的浪潮下&#xff0c;越来越多的企业选择出海&#xff0c;寻求更广阔的市场和更多的机遇。然而&#xff0c;出海营销并非易事&#xff0c;其中涉及到的CRM&#xff08;客户关系管理&#xff09;更是挑战重重。在这个领域&#xff0c;HubSpot以其创新的实践&#xff0c;…