zoukankan      html  css  js  c++  java
  • 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 11.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://60.191.205.87/.nijiakadaye/
    cd dist/60.191.205.87

    #然后就是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 +0+0 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("1",'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_ROOTApplicationsjavaw.exeshellopencommand——"E:javajreinjavaw.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]

  • 相关阅读:
    Redis
    cut
    grep
    MySQL中EXPLAIN的解释
    MySQL数据类型
    有用的MySQL语句
    mysql函数
    memcache
    存储过程 游标的使用
    存储过程批量删除
  • 原文地址:https://www.cnblogs.com/qq3285862072/p/11868623.html
Copyright © 2011-2022 走看看