CTF-web Xman-2018 第一天 入营msic
广度大,深度不怎么深,涉及的方面有各种加密,流量分析,隐写,文件恢复等 这种类型的题目主要是在于手中的工具要全,很多时候都是依靠工具来完成的,一部分是自己如何找到题目的要点,使用对的工具
考的东西:
细心50
套路40
发散10
Recent Misc Challenge
主流方向,考察点一张大图,网上应该有。
信息收集,编码,取证,隐写,多媒体。
变化方向
涉及越来越广,需要收集信息学习的比例越来越高。
信息搜索可以划分为两个方向:社工(狭义) anywhere(广义)
例题(狭义收集 谷歌 论坛等)
从攻击日志中寻找攻击者,发现IP然后搜索,发现其在某一网站的注册信息
邮箱 电话号-》贴吧-》QQ-》猜域名 从已知中对其信息进行搜索,社工的过程
01 encode
bin dec hex base url acsii 莫尔斯编码 曼彻斯特 差分曼彻斯特等
二进制与字符串转换 0101可以跟很多东西结合 (ascii,二维码,进制转换,排列形式等)
例题
{二维码:使用25*25=625位二进制,变为二维码,长度必须为次方数}
{字符化:使用01拼凑排列,变成有字的长方形,离远看能看出来字}
{压缩文件注释的地方,三行空白的地方,sublim可以看出空格和tab空白,也可以看16进制明显的09 20分区,转化为0101,再转换为ascii}
{二进制与莫斯电码转换,音频中的电码,简单的听就能听出来}
base64
可逆的拆分编码方式,编码后的数据是一个字符串,只有a-zA-Z0-9最后还有填充字符=,攻击64个=26+26+10+1+1。识别方式=。
Base64本质上是一种将二进制数据转成文本数据的方案。对于非二进制数据,是先将其转换成二进制形式,然后每连续6比特(2的6次方=64)计算其十进制值,根据该值在上面的索引表中找到对应的字符,最终得到一个文本字符串。假设我们对Hello!进行Base64编码,按照ASCII表,其转换过程如下图所示:
base64隐写,判别方式:先解码在编码会出现不一样的地方。
摩斯电码
非常明显,点岗,举了一个音频的例子
图像码(条形码,二维码)
一个网站//online-barcode
常见的套路:黑白颠倒,补充,修复,定位框等,可以结合编码,隐写等,还可能有gif分块放映等。
混淆加密 :asp php css/js vbscript
Brainfuck : +-<>等
Jsfuck : ()[ ]+!等
Jother :+![ ]等
常用工具
LINUX命令-awk cat sed
ctf中的编码与加密 一个博客:https://www.baidu.com/link?url=n2EiZcsJOfk94baRiSn0sIx0MQFyTf-okc7uAtuQn-MVg9AmWUl_W74tN0lvDBafeLtlbDxsygICMrV-580RKa&wd=&eqid=e43d13aa0005101b000000065b626646
例题 liuux 受限ssh连接 很多都用不了(RBASH)
minBash
这个题目考的点是沙盒绕过,第一次玩这个东西??反正进去之后尝试ls,cat,file等各种那个命令均无效果,都会显示
-rbash: ls: command not found
发现有一篇好文章,有空瞅瞅:http://cauc.me/2017/11/16/python沙盒绕过/
一开始谷歌一下,发现解决办法是这样的
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
输入之后发现还是不行显示 -rbash: PATH: readonly variable
我们可以尝试python里面的库去执行,用的是os
库里面的listdir
函数
>>> import os >>> os.listdir('.')
注意函数里面的.
代表的是当前目录,而..
代表的是上级目录,也可以是绝对路径
得到当前目录的结果为
['.bash_logout', '.profile', '.bashrc', 'bin', 'c8049f64c8080af25f414b15cb6f80c3']
检验一下那个一串的东西是文件还是文件夹
>>> os.path.isfile('c8049f64c8080af25f414b15cb6f80c3')
发现是文件,这里提供两种方法读取文件,
第一种直接用Python读取文件
>>> f = open('c8049f64c8080af25f414b15cb6f80c3','rb')
>>> f.read()
得到结果
'SUSCTF{e6b729cdf8885b16e7b949e85772e340}\n'
另一种是,返回到Linux命令行用strings命令
strings c8049f64c8080af25f414b15cb6f80c3
02 forensci&&steg 比赛的时候也经常是结合的
正规比赛中以这个为主,图像文件{jpg,png重点,gif,bmp} ,音频视频,压缩包{zip重点,rar},流量包{协议分析,数据提取,流量分析重点},虚拟机磁盘文件-内存取证,pdf-word等,一般情况下可以借助工具,很少纯人工分析。
需要一定的编程能力,对常见的文件格式的了解(文件头,特殊的文件png等),有很多可以使用的工具
编码:base64,hex,bin。
python:字符串处理,二进制处理,文件处理(zip,png),网络编程。
常用工具:
File: 用来鉴定文件类型
• Windows trid.exe
• Strings: 查看文件中可见字符串,一般用来找到hint
• Binwalk(自动提取),foremost: 用于分析文件,自动切割文件
• Winhex,010Editor(有文件模板): 16进制文件编辑器
• Grep,awk: 关键信息检索提取
Binwalk filename(自动识别提取包含的文件)
Binwalk is a fast, easy to use tool for analyzing, reverse engineering, and extracting firmware images
根据文件头识别包含文件
并进行自动化提取
搜索嵌入的二进制镜像文件的代码及文件
1)使用dd命令分离(linux/unix下)
我们可以使用dd命令分离出隐藏文件:
binwalk carter.jpg # 文件名
dd if=carter.jpg of=carter-1.jpg skip=140147 bs=1
可以参考dd命令详解,这里if是我们的输入文件,of是指定输出文件名,skip是指定从输入文件开头跳过140147个块后再开始复制,bs设置每次读写块的大小为1字节 。即为分离之意
(2)使用foremost工具分离
foremost是一个基于文件文件头和尾部信息以及文件的内建数据结构恢复文件的命令行工具,win可以下载地址,Linux可以
通过下面命令安装使用:
# apt-get install foremost
安装foremost后你可以使用foremost -help查看使用帮助,这里最简单分离文件的命令为:
# foremost carter.jpg
当我们使用这行命令后,foremost会自动生成output目录存放分离出文件:
MetaData
• Identifiy 获取图形文件的格式与特性
• -format print various properties and other settings associated with an image
• https://www.imagemagick.org/script/escape.php
• Strings
• ExifTools
下午
PNG编码格式
每个数据块的作用,文件头标识,文件结束。
常见:修改标识损坏格式。
IHDR宽高被修改(有时候不是随意填的,需要根据CRC值爆破)。
IDAT连续数据段,人为的增加(使用010编辑器或者脚本)
IEND结束之后又加了一个文件,用binwalk看就行
LSB最低有效为隐写,有工具可以逐位查看
习题:
IHDR修改高度
使用010editor打开,加载插件,可以看到数据块,第一个就是IHDR,里面已经标注了尺寸,我们可以修改一下
使用的是四个字节保存,我们修改为800
IDAT图像数据块修改
我们打开图像之后,可以看到多出的数据块
前面都是10000h的,最后是AFEFh chuan[25],IEND是chunk[27],多出来了chunk[26],长度为96h,我们将数据复制出来,然后在线解码就可以。
教练我想打ctf
使用stegsolve,打开使用analyse功能,选择最低位分析
根据标识符ZIP Archive (zip),文件头:504B0304,我们可以知道这是一个zip文件,save bin保存为zip文件
打开之后是一个1文件,类型未知,对文件头ELF Executable elf;; 0x7F454C4601010100识别,是linux可执行文件。
Gif
套路:split差分,按时间轴隐藏
音频
频谱的隐藏,对波形有无高低的隐藏方法
音乐中突然地噪声等,使用音频分析软件
工具:MP3stego,SlientEye
zip格式隐藏
多次压缩,使用脚本,或者使用软件
修改加密标志位的伪加密
CRC32碰撞
明文攻击:压缩包里的文件有密码,恰巧拥有某个文件对应的明文,有解密之后的文件。(ARCHRP)
流量分析(重要的地方)
三个方面
修复-pcapfix,一键修复
分析-Wireshark,命令行形式的是 tshark,可以配合使用脚本
常见的协议:
http,https,dns,ftp
隐藏方式
通信的规律
ttl字段,一般比较小,前两个可以被利用
数据提取
内存取证
主要是volatility,对内存进行分析
得到敏感的文件或者进程,通过dump等获取内存或文件,之后变为进程或文件分析
步骤:
确定内存结构
查看进程列表
根据提示,寻找进程等
常用命令(定位进程,敏感路径)
python字节码空间,冗余的隐藏。
03 take a look
4 misc+
CTF-web Xman-2018 第一天 入营msic相关推荐
- 拥有什么“绝技”才能入选?Web3.0 训练营 15 支入营团队详解
"Crust 实现了去中心化存储的激励层协议,适配包括 IPFS 在内的多种存储层协议,并对应用层提供支持.同时 Crust 的架构也有能力对去中心化计算层提供支持,构建分布式云生态.&qu ...
- CTF Web题 部分WP
1.web2 听说聪明的人都能找到答案 http://123.206.87.240:8002/web2/ CTRL + u 查看源代码 2.计算器 http://123.206.87.240:8002 ...
- ctf web必备工具_设计人员和开发人员的必备Web工具和服务
ctf web必备工具 I cannot imagine that in 2018 there are people who don't use daily several web tools and ...
- CTF Web方向考点总结
CTF Web 0X00 前言 做题已经快四个月了,接触了大大小小的题型,收藏的大师傅们的解题思路.题型总结的博客已经很多了,每次都要一个一个翻很麻烦,于是写下了这一个总结,实际上是把各大博客内容汇总 ...
- Asp.Net Web API 2第一课——入门
前言 Http不仅仅服务于Web Pages.它也是一个创建展示服务和数据的API的强大平台.Http是简单的.灵活的.无处不在的.你能想象到几乎任何的平台都会有HTTP服务库.HTTP服务可以涉及到 ...
- 8点1氪|苹果第一财季营收843亿美元;VIPKID拟融资4-5亿美元;工信部称5G终端将于年中推出...
大公司 苹果第一财季收营收843亿美元超预期,中国区销售同比大跌27% 1月30日消息,苹果公司今日公布2019财年第一财季(即2018自然年第四季度)业绩.财报显示,苹果第一财季营收843.1亿美元 ...
- CTF——web个人总结
CTF web个人总结 仅供个人参考 从0开始接触到了CTF,算是入门了,为了方便自己做题,现在记录一下web类型题目的解题思路. 目录 CTF web个人总结 工具(含后渗透) 解题思路 一.普通思 ...
- 只有夏令营,入营0双非,想保中科大大数据学院应该怎么做?
1.院校介绍 中国科学技术大学大数据学院成立于2018年3月,其下设有交叉学科"数据科学"专业,该专业与生命科学.医疗健康.经济金融.社会管理.公共安全等众多学科领域深度交叉,有效 ...
- 入营人数线性增长,录取人数保持稳定,复旦工研院有点抢手
1.院校介绍 复旦大学工程与应用技术研究院是复旦大学发挥文理医综合优势,聚焦解决国家重大需求的工程与应用研发,发展具有复旦特色工程学科的一项重要举措.其下设有智能机器人研究院.生物医学工程技术研究所和 ...
最新文章
- Java字节码instrument研究
- java js 转换_[Java教程]javascript 类型转换。
- 设计模式——UML图
- Kubernetes Federation V2搭建(持续更新)
- php 安装测试程序,PHPUnit安装及使用示例
- .NET 6 新特性 —— Random.Shared
- java流写入数据库_成为Java流大师–第4部分:数据库流
- 修改epo服务器 gps,epo
- 见微知著,构“见”未来
- idea findbugs使用_IDEA如何协同开发统一代码风格?编码不规范如何解决?
- PAT甲级1007 最大连续子序列
- 计算机无法安装ae,Windows10系统AE软件无法安装如何处理
- vi编辑器常用命令大全
- 成分句法分析依存文法分析
- 现场总线CANopen设计与应用
- 锆石 Hello FPGA 笔记——part1 数字电路篇
- Aurora使用教程 第一讲
- Mac 和 Windows 共享一套鼠标键盘
- miniGUI源码分析:消息机制
- canu三代组装软件安装
热门文章
- 可靠性测试设备技术含量_可靠性测试技术文件.doc
- php 最后一条记录,PHP / MYSQL:在联接表的联接AND行数中获取表的最后一条记录
- MRPII/ERP实施和应用十大忠告(转)
- Java后端数据分页问题
- garch预测 python_Python实战—基于GARCH模型股票趋势预测
- python输入数字并排序_「每日一练」巧用Python实现数字排序
- Pentaho技术可行性分析
- 3.基于梯度的攻击——PGD
- VC++ FindResource加载资源失败
- oracle数据库是三级模式结构,什么是数据库三级模式结构?