0X02

news2024/11/26 14:35:42

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()函数的别名

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

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

相关文章

Nacos-2.2.2源码修改集成高斯数据库GaussDB,postresql

一 &#xff0c;下载代码 Release 2.2.2 (Apr 11, 2023) alibaba/nacos GitHub 二&#xff0c; 执行打包 mvn -Prelease-nacos -Dmaven.test.skiptrue -Drat.skiptrue clean install -U 或 mvn -Prelease-nacos ‘-Dmaven.test.skiptrue’ ‘-Drat.skiptrue’ clean instal…

强化学习的动态规划三

一、策略的改进 假设新的贪婪策略π0与旧的策略π效果相当&#xff0c;但并不优于π。由此得出vπvπ0&#xff0c;且根据之前的推导可以得出&#xff1a;对于所有的s∈S 这与贝尔曼最优方程相同&#xff0c;因此&#xff0c;vπ0是v∗&#xff0c;π和π0是最佳策略。因此&…

笔记本360wifi,wifi共享大师掉线,

笔记本上搭建的wifi热点&#xff0c;例如360wifi、wifi共享大师等&#xff0c;手机连接wifi后总是隔一段时间掉线。原因:网卡驱动和无线驱动有问题&#xff0c;需要更新或换成稳定的网卡驱动和无线驱动。 解决方案: ① 安装驱动精灵: ②点击驱动管理 ③ ④ ⑤进行阻止windo…

AI:60-基于深度学习的瓜果蔬菜分类识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

线扫相机DALSA软件开发套件有哪些

Win10和Win7系统完整SDK目录截图&#xff1a; Sapera Configuration 缓存与内存管理&#xff0c;以及通信端口配置工具&#xff0c;部分功能等效于Detection(查找相机)内的Settings。 Sapera Log Viewer 打开Log Viewer后会显示之前发生过的所有与Sapera LT软件有关的运行信息…

SSTI模板注入入门

一.关系&#xff1a;子类->父类 class A:passclass B(A):passclass C(B):passclass D(B):passcC() 1.__class__查看当前类 c&#xff1a;当前类 print(c.__class__) 2.__base__查看当前类的父类 print(c.__class__.__base__) c的父类的父类 print(c.__class__.__base_…

重生奇迹mu召唤师怎么加点?

召唤师在重生奇迹mu游戏里面是一个智力型的职业&#xff0c;所以智力自然就成为主要加点属性&#xff0c;但是此职业却又算是近身攻击&#xff0c;因为她的技能范围并不算远&#xff0c;而且还是呈现出一种半径趋势&#xff0c;一方面是攻击伤害&#xff0c;另一方面则是辅助造…

AI:58-基于深度学习的猫狗图像识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

AI:59-基于深度学习的行人重识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

Go的json序列化:Marshal与Unmarshal

简介 Json(Javascript Object Nanotation)是一种数据交换格式&#xff0c;常用于前后端数据传输。任意一端将数据转换成json 字符串&#xff0c;另一端再将该字符串解析成相应的数据结构&#xff0c;如string类型&#xff0c;strcut对象等。 1.Json Marshal&#xff1a;将数据编…

2、Sentinel基本应用限流规则(2)

2.2.1 是什么 Sentinel 是阿里中间件团队开源的&#xff0c;面向分布式服务架构的轻量级高可用流量控制组件&#xff0c;主要以流量为切入点&#xff0c;从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。 2.2.2 基本概念 • 资源 (需要被保护的东西…

分享81个工作总结PPT,总有一款适合您

分享81个工作总结PPT&#xff0c;总有一款适合您 PPT下载链接&#xff1a;https://pan.baidu.com/s/13hyrlZo2GhRoQjI-6z31-w?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整理更不易。知识付…

二叉搜索树专题1 二叉查找树的建立

题目&#xff1a; 样例&#xff1a; 输入 6 5 2 3 6 1 8 输出 5 2 1 3 6 8 思路&#xff1a; 二叉搜索树的建立&#xff0c;需要了解二叉搜索树的性质。 二叉搜索树的性质 左孩子结点&#xff1a; 比根节点小 右孩子结点&#xff1a; 比根节点大 根据所给的序列进行按序…

【数据结构】排序算法复杂度 及 稳定性分析 【图文详解】

排序算法总结 前言[ 一 ] 小数据基本排序算法&#xff08;1&#xff09;冒泡排序&#xff08;2&#xff09;直接插入排序 [ 二 ] &#xff08;由基本排序衍生的用作&#xff09;处理大数据处理排序&#xff08;1&#xff09;堆排序&#xff08;2&#xff09;希尔排序 [ 三 ] 大…

Leetcode-88 合并两个有序数组

使用内置排序函数&#xff0c;时间复杂度On^2 class Solution {public void merge(int[] nums1, int m, int[] nums2, int n) {int j0,im;while(j<n){nums1[i]nums2[j];}Arrays.sort(nums1);} }新建一个临时数组用于放排序后的元素&#xff0c;再将临时数组赋值给nums1&…

Technology strategy Pattern 学习笔记3-Creating the Strategy-Industry context

Creating the Strategy-Industry context 1 SWOT 1.1 create steps 1.与内部各方沟通 了解企业的人、流程和技术&#xff0c;包括与其它企业的不同了解哪些创新可以做竞争者及市场信息企业可以支撑的类似业务 按SWOT四象限分类&#xff0c;先做列表后放入象限 1.2 四象限…

C++ 代码实例:多项式除法简单计算工具

文章目录 前言代码仓库代码说明核心片段 结果总结参考资料作者的话 前言 C 代码实例&#xff1a;多项式除法简单计算工具。 代码仓库 yezhening/Programming-examples: 编程实例 (github.com)Programming-examples: 编程实例 (gitee.com) 代码 说明 由于代码篇幅较多&#…

AI:57-基于机器学习的番茄叶部病害图像识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌在这个漫长的过程,中途遇到了不少问题,但是…

linux之按键中断

查看原理图确认引脚 可以看到按键有两个&#xff0c;分别对应GPIO5_1和GPIO4_14 配置pinctrl&#xff0c;配置成GPIO模式 1.使用官方工具&#xff0c;配置下引脚 2.将生成的代码复制到设备树里 创建设备节点 生成二进制设备树文件 在工具链表下使用 make dtbs 或者使…

“宽带中国”工具变量—海拔标准差数据集

参照刘传明&#xff08;2020&#xff09;、金环&#xff08;2021&#xff09;、胡浩然&#xff08;2023&#xff09;等的做法&#xff0c;将地级市-海拔标准差数据&#xff0c;作为“宽带中国”试点政策的工具变量 ➤相关性&#xff1a;地形起伏度会影响网络基础设施建设&…