ctf misc 学习总结大合集

0x00 ext3
linux挂载光盘,可用7zip解压或者notepad搜flag,base64解码
放到kali
挂载到/mnt/目录
mount 630a886233764ec2a63f305f318c8baa /mnt/
cd /mnt/
ls
寻找 find | grep 'flag' 或 find -name 'flag*'
查看 cat ./O7avZhikgKgbF/flag.txt
eg:查找key.txt这些文件里是否存在
grep -r ‘key.txt’
显示在1文件,看文件类型 root@kali:/mnt# file 1
1: gzip compressed data, was "key.txt", last modified: Wed Oct 1 06:00:52 2014, from Unix, original size 30.
解压并显示gzip下的文本内容 root@kali:/mnt# gunzip < 1
SECCON{@]NL7n+-s75FrET]vU=7Z}
war文件unzip -c dw.war
0x01 pdf
pdfinfo fa4bcaa5554447cea4c69c9b75a43283.pdf (pdf属性,也可直接Adobe Reader查看)
pdftotext fa4bcaa5554447cea4c69c9b75a43283.pdf(查看pdf隐藏文本,也可Adobe Reader导出文本???)
使用pdf.js(可Google装插件即可用)打开
火狐(打开pdf.js的路径/web/viewer.html导入)我把pdfjs放到apache上的htdocs目录
file:///C:/www/Apache24/htdocs/pdfjs-2.2.228-dist/web/viewer.html
控制台输入:document.documentElement.textContent
0x02 shell命令
解base64 root@kali:~/文档#
echo -n "Tm9wZSAsIG5vdCBoZXJlIDspCg==" | base64 -d -
Nope , not here ;)
echo -n "BABA BBB BA BBA ABA AB B AAB ABAA AB B AA BBB BA AAA BBAABB AABA ABAA AB BBA BBBAAA ABBBB BA AAAB ABBBB AAAAA ABBBB BAAA ABAA AAABB BB AAABB AAAAA AAAAA AAAAB BBA AAABB" **| tr** AB .-
-.-. --- -. --. .-. .- - ..- .-.. .- - .. --- -. ... --..-- ..-. .-.. .- --. ---... .---- -. ...- .---- ..... .---- -... .-.. ...-- -- ...-- ..... ..... ....- --. ...--
0x03 文件块头损坏

rar 能用(文件头52617221),查找在rar里png前的文件头
查看相关资料:https://blog.csdn.net/vevenlcf/article/details/51538837
if HEAD_TYPE==0x74(表明是文件头)
0x04 ps:双图层、二维码增加,合并
打开png发现两个不同帧?改成gif发现还是空白,binwalk没有隐藏文件
stegSolove打开只有一半的二维码保存,用在线ps看看
把隐藏的图层复制到另一文件保存gif
再stegSolove打开也是半个二维码
重叠三个图片。在线链接:https://pixlr.com/express/
二维码左下方向
左上
右上
0x05 jar包在线反编译,酷
http://www.javadecompilers.com
eg:找到PlaneGameFrame.java
0x06 JPK使用
c8e9aca0c6f2e5f3e8c4efe7a1a0d4e8e5a0e6ece1e7a0e9f3baa0e8eafae3f9e4eafae2eae4e3eaebfaebe3f5e7e9f3e4e3e8eaf9eaf3e2e4e6f2
使用JPK(16进制转化为7位2进制binary)再二进制转ASCII


如来十三掌
得到base64码:MzkuM3gvMUAwnzuvn3cgozMlMTuvqzAenJchMUAeqzWenzEmLJW9
但是要先进行ROT13然后再base64解码:
0x07 WIRESHARK篇
jpg开头FFD8结尾FFD9
png开头8950结尾6082
gif开头4749结尾003B
bmp开头424D
gz开头1f8b
zip开头504B
mp3开头4944
pdf开头2550
rar开头5261
word开头D0CF
ctrl+f显示字符串、分组字节流,搜索flag,追踪tcp流
导出图片之类的,追踪HTTP流,找到要复制的内容点击原始数据,把搜索开头结尾完整复制出16进制数据粘贴到winhex,选择ascii-hex。保存即可打开
0x08 图片
foremost
winhex
binwalk
图片信息outguess
安装
git clone https://github.com/crorvick/outguess
cd outguess/
./configure && make && make install
使用
outguess -r xxxx.jpg .txt
ls
stegsolve合并两张图片analyse->combiner。常有会隐藏信息在lsb,stegsolve根据查看各图有效位详情(选择单独或三个)rgb的最低有效位0位。
注意l与1太难辨认了
图片也可网上找到原图
放到tweakpng 工具中,发现它的检验值是错的
使用checkpng -v 检查图片结构是否存在问题,发现有一些异常的IDAT块。
有这么多工具不如网上找个工具包,eg:https://ctf-wiki.github.io/ctf-tools/collections/
先base64解码得到ggQ@gQ1fqh0ohtjpt_sw{gfhgs#}
一看格式,无非是凯撒+栅栏,解题关键是flag格式ssctf{},所以先凯撒得到
ssC@sC1rct0atfvbf_ei{srtse#}
16进制转字符串
666c61677b68656c6c6f5f776f726c647d
看到git-upload-pack字样,.nijiakadaye、config字样,很大可能是git泄露,尝试下浏览器访问http://60.191.205.87/.nijiakadaye
0x09 githack神器
git clone https://github.com/BugScanTeam/GitHack
cd GitHack
python GitHack.py http://.../.nijiakadaye/
cd dist/...
#然后就是git命令看看历史提交记录
git log -u
diff --git a/ssctf/phps/templaCes/flag.txt b/ssctf/php/templates/flag.txt
文件没后缀,先用binwalk和file来观看
用winhex打开文件,发现有pk,也就是压缩包的标识头
U2FsdGVkX1+VpmdLwwhbyNU80MDlK+8t61sewce2qCVztitDMKpQ4fUl5nsAZOI7bE9uL8lW/KLfbs33aC1XXw==
有+有==(狗头)
U2Fsd头,按照你的过往经验,一般是aes加盐
http://tool.chinaz.com/Tools/textencrypt.aspx
![在这里插入图片描述]()
也可不填密码就是不加盐试试
0x10 zip明文攻击

0x11 水平镜像反转图片
convert -flop reverse.jpg reversed.jpg
-flip #垂直
gif图片帧分离
convert ggg.gif hh.jpg
横向合成,用montage
montage flag*.png -tile x1 -geometry ++ a.png
-tile是拼接时每行和每列的图片数,这里用x1,就是只一行
-geometry是首选每个图和边框尺寸,我们边框为0,图照原始尺寸即可
*的意思指的所有的.png
tcpxtract可以把所以的html图片那些给提取出来
tcpxtract -f 55.pcap Found file of type "png" in session
python反编译--在线https://tool.lu/pyc/
盲水印见BlindWaterMark(两个看不到的图片则可能存在哦)
python2 bwm.py decode day1.png day2.png flag.png
0x12 xortool工具的使用
pip2 install xortool
xortool 1 #查看1文件密钥长度最可能是
xortool 1 -l 13 -c 20 #*-l就是指定密钥长度,-c表示出现频率最高的字符。根据经验,比如文本内容一般是空格(20),二进制文件一般是00*
#得出key
import os
c = open("",'rb').read()
key = "GoodLuckToYou"
def xor(c,k):
keylen = len(k)
res = ""
for pos,c in enumerate(c):
res +=chr(ord(c) ^ ord(k[pos % keylen]))
return res
print xor(c,key)
jar包双击不可用只能cmd上运行
修改注册表
搜索regedit
HKEY_CLASSES_ROOT\Applications\javaw.exe\shell\open\command——"E:\java\jre\bin\javaw.exe" -jar "%1”
参考、学习文章:
[https://cloud.tencent.com/developer/article/1100387]
[https://www.bodkin.ren/index.php/archives/702/]
[CTF中的杂项小结]
[https://www.jianshu.com/p/02fdd5edd9fc]
[https://blog.csdn.net/u010391191/article/details/80818785]
[zlib解压]
[https://www.bodkin.ren/index.php/archives/622/]
[Volatility内存取证]
[https://blog.csdn.net/qingchenldl/article/details/78447003]
[https://www.freebuf.com/column/152545.html]
[https://blog.csdn.net/yalecaltech/article/details/90574874]
[wireshark取证分析]
[https://www.freebuf.com/column/199838.html]
ctf misc 学习总结大合集的更多相关文章
- 【分享】Python学习资源大合集
地址:http://www.hejizhan.com/html/xueke/520/x520_03.html Python安装软件合集(Windows)(78) Python教程——游戏编程(13) ...
- 读书分享全网学习资源大合集,推荐Python3标准库等五本书「02」
0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code使 ...
- 读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」
0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code之 ...
- 【Oracle教程资源大合集】Oracle数据库免费学习资源汇总
Oracle的产品非常丰富,各类学习资源也五花八门,本文将介绍Oracle官方的免费教程与风哥整理的Oracle视频教程: 1.Oracle帮助中心 Oracle帮助中心也称为Oracle文档中心,这 ...
- HCNP学习笔记之史上最全华为路由器交换机配置命令大合集
先来一张思科和华为命令的对照表: 史上最全华为路由器交换机配置命令大合集,熟练掌握下面的华为路由器交换机配置知识点,你只需花几分钟的时间就能明白华为路由器交换机配置.交换机的配置命令等等. 华为路由器 ...
- 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )
从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 ) 我现在在Coursera上面学data science 中的R programming,过去很少接 ...
- 大量Javascript/JQuery学习教程电子书合集
[推荐分享]大量Javascript/JQuery学习教程电子书合集,送给有需要的人 不收藏是你的错^_^. 经证实,均可免费下载. 资源名称 资源大小 15天学会jQuery(完整版).pd ...
- Android软件开发之盘点全部Dialog对话框大合集(一)
对话框大合集 今天我用自己写的一个Demo和大家具体介绍一个Android中的对话框的使用技巧. 1.确定取消对话框 个button 通过调用setPositiveButton方法和 setNeg ...
- 网络安全中机器学习大合集 Awesome
网络安全中机器学习大合集 from:https://github.com/jivoi/awesome-ml-for-cybersecurity/blob/master/README_ch.md#-da ...
随机推荐
- 推荐一款超好用的工具cmder
今天来推荐一个超级好用的命令行工具:cmder 一款Windows环境下非常简洁美观易用的cmd替代者,它支持了大部分的Linux命令.支持ssh连接linux,使用起来非常方便.比起cmd.powe ...
- mac上git安装与github基本使用
目录 安装git 创建ssh key.配置git 提交本地项目到GitHub 一.安装Git MAC安装Git 首先查看电脑是否安装Git,终端输入: git 1.通过homebrew安装Git 1. ...
- STM32串口IAP分享
什么是IAP? IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通 ...
- Cocos2d-x 学习笔记(11.4) ScaleTo ScaleBy
1. ScaleTo ScaleBy 对node进行缩放.ScaleBy是ScaleTo的子类. 1.1 成员变量 create方法 ScaleTo ScaleBy 成员变量一样: float _sc ...
- 浅谈爬虫 《一》 ===python
浅谈爬虫 <一> ===python ‘’正文之前先啰嗦一下,准确来说,在下还只是一个刚入门IT世界的菜鸟,工作近两年了,之前做前端的时候就想写博客来着,现在都转做python了,如果还 ...
- std::unordered_map
map与unordered_map的区别 1.map: map内部实现了一个红黑树,该结构具有自动排序的功能,因此map内部的所有元素都是有序的,红黑树的每一个节点都代表着map的一个元素, 因此,对 ...
- Spring Boot项目中使用Mockito
本文首发于个人网站:Spring Boot项目中使用Mockito Spring Boot可以和大部分流行的测试框架协同工作:通过Spring JUnit创建单元测试:生成测试数据初始化数据库用于测试 ...
- ESP8266开发之旅 网络篇⑫ 域名服务——ESP8266mDNS库
1. 前言 前面的博文中,无论是作为client端还是server端,它们之间的通信都是通过具体的IP地址来寻址.通过IP地址来寻址,本身就是一个弊端,用户怎么会去记住这些魔法数字呢?那么有没 ...
- restapi(8)- restapi-sql:用户自主的服务
学习函数式编程初衷是看到自己熟悉的oop编程语言和sql数据库在现代商业社会中前景暗淡,准备完全放弃windows技术栈转到分布式大数据技术领域的.但是在现实中理想总是不如人意,本来想在一个规模较小的 ...
- Django中ORM的优化
1. exists( ) 什么时候用 count( ) 和 len( )什么时候合适, 用values( )或values_list( )只取需要的列的数据 iterator()对数据对象生成迭代器, ...