2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛

文章目录

  • 1.安防第一题
  • 2.安防第二题
  • 3.安防第三题
  • 4.安防第四题
  • 567

1.安防第一题

1024程序员节,大家一起和2233参与解密游戏吧~
happy_1024_2233:
e9ca6f21583a1533d3ff4fd47ddc463c6a1c7d2cf084d364
0408abca7deabb96a58f50471171b60e02b1a8dbd32db156

看不懂解密直接一把梭,解密全试错了一遍,猜测happy_1024_2233应该是密钥,试了一下AES还是没解出来,后面又找了几个网站试了一下

在线AES加密解密工具。AES采用对称分组密码体制,密钥长度支持为128/192/256bits。用户密钥长度不足时,平台将以0x00自动填充。IV也一样,自动填充,超出部分将被忽略。加密时会将明文数据按16byte进行分组,不足16byte时将用特定的Padding(如PCKS7)字符进填充,所以不同的Padding方式密文最后一段可能不一样。如果没有特别指明平台将使用UTF8编码处理数据(如KEY/IV)。

所以直接用百度搜的平台没办法CV直接出结果,这时候删掉换行改输出为hex则可以直接得出结果(填充不影响结果的输出)

2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第1张图片

答案:a1cd5f84-27966146-3776f301-64031bb9

2.安防第二题

某高级前端开发攻城狮更改了一个前端配置项
https://security.bilibili.com/sec1024/q/

打开发现是一个前端的页面直接F12大法看到一句提示Please enable JavaScript to continue.猜测可能是信息泄露,flag可能在js中,直接右键查看源码毛都没发现。

2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第2张图片
首页看到用户名为test,猜测可能是越权,bp抓包看到token找了好久的token毛都没找到。回到之前的想法信息泄露F12查看源代码意外中发现了一个webpack,之前看ChaMd5的文章有看到过这个信息泄露。

https://cloud.tencent.com/developer/article/1400138

直接在home.vue中找到flag

2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第3张图片

答案:36c7a7b4-cda04af0-8db0368d-b5166480

3.安防第三题

PHP is the best language for web programming, but what about other languages?
https://security.bilibili.com/sec1024/q/eval.zip

直接源码审计

  • 传入的参数count()之后要小于3
  • \w正则匹配0-9a-zA-Z
  • 输入命令才会回显

看到preg_match就知道是绕过preg了,直接百度搜一下preg_match绕过总结 可以看到正则的结尾为$,所以可以直接用%0a进行绕过,$会忽略句尾的%0a,直接构造payload


    /* 
        bilibili- ( ゜- ゜)つロ 乾杯~
        uat: http://192.168.3.2/uat/eval.php
        pro: http://security.bilibili.com/sec1024/q/pro/eval.php
    */
    $args = @$_GET['args'];
    if (count($args) >3) {
        exit();
    }
    for ( $i=0; $i<count($args); $i++ ){  
        if ( !preg_match('/^\w+$/', $args[$i]) ) {
            exit();
        }
    }
    // todo: other filter
    $cmd = "/bin/2233 " . implode(" ", $args);
    exec($cmd, $out);
    for ($i=0; $i<count($out); $i++){
        echo($out[$i]);
        echo('
'
); } ?>

构造payload为/sec1024/q/pro/eval.php?args[]=xxx%0a&args[]=ls
2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第4张图片
没有进行过滤直接cat读取得到flag2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第5张图片

答案:9d3c3014-6c6267e7-086aaee5-1f18452a

4.安防第四题

懂的都懂
https://security.bilibili.com/sec1024/q/

和第二题的网址是一样的,看到有人说是mysql盲注,有方向就好搞了。

首先找注入点,POST包是JSON格式的每个字符后面插单引号发现长度没变化所应该是数字型注入,首先判断注入点,参数user_name存在注入,这里过滤了空格,尝试用+发现也过滤了,这里使用的是内联注入。(废话那么多,掏出大宝贝直接梭哈)

2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第6张图片
gg?只能手工了,首先判断注入点
2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第7张图片
2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第8张图片
user_name存在注入,则order by判断一下存在5列,直接开始注入发现mysql版本为8.0.26,数据库名为q
2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第9张图片
后面就是常规操作了先注入表名再列名最后找flag
2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第10张图片
2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第11张图片
2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第12张图片

答案:3d5dd579-0678ef93-18b70cae-cabc5d51

567

第五题、第六题涉及到知识盲区了,可以看看52上面大师傅的思路:

https://www.52pojie.cn/thread-1532779-1-1.html

5题答案:516834cc-50e448af-bcf9ed53-9ae4328e
6题答案:b13981f4-5ae996d4-bc04be5b-34662a78

第七题我是直接导到excel然后筛选去重的笨方法,拿不到所有的答案(呜呜呜还是太菜了),网上有人写了脚本可以去搜一下忘记存链接了。

jj.bdc.bbb.cc,dc.bb.ii.jj,cde.ced.bbb.dd,cdd.bcc.bg.bib,cd.bb.cai.cbh,cd.baf.cae.cbc,bfh.ff.dj.jf,bfh.ff.dj.ig,bfh.ff.dj.fb,bfh.ff.dj.bd,bfh.ff.dj.bcf,bbb.bb.bjd.bhf,bbb.bb.bjd.bhc,bbb.bb.bjd.bha,bbb.bb.bjd.bgc,bba.ja.ccb.cbc,bba.ja.cca.beg(不全)

更多内容请关注公众号【李哥技术笔记】,回复1024,下载完整版答案

免费分享超过1000本计算机类电子书,包含编程语言、大数据、机器学习、校招面试经验等
2021哔哩哔哩1024程序员节日第二弹:安全攻防挑战赛_第13张图片

你可能感兴趣的:(算法,安全,前端)