码迷,mamicode.com
首页 > 其他好文 > 详细

misc_

时间:2018-11-19 11:00:59      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:base64   取数   .com   指定   bcd   wireshark   百度google   网页   .net   

#遇到一小堆网页,文本,图片的那种文件夹,可以打开所有的文本搜flag或key或者key{
#misc里的莫尔斯电码图片转文本,注意空格的使用啊
1.一串数字
{{8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8},
{49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,4,56,62,0},
{81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,3,49,13,36,65},
{52,70,95,23,4,60,11,42,69,24,68,56,1,32,56,71,37,2,36,91},
{22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80},
{24,47,32,60,99,3,45,2,44,75,33,53,78,36,84,20,35,17,12,50},
{32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70},
{67,26,20,68,2,62,12,20,95,63,94,39,63,8,40,91,66,49,94,21},
{24,55,58,5,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72},
{21,36,23,9,75,0,76,44,20,45,35,14,0,61,33,97,34,31,33,95},
{78,17,53,28,22,75,31,67,15,94,3,80,4,62,16,14,9,53,56,92},
{16,39,5,42,96,35,31,47,55,58,88,24,0,17,54,24,36,29,85,57},
{86,56,0,48,35,71,89,7,5,44,44,37,44,60,21,58,51,54,17,58},
{19,80,81,68,5,94,47,69,28,73,92,13,86,52,17,77,4,89,55,40},
{4,52,8,83,97,35,99,16,7,97,57,32,16,26,26,79,33,27,98,66},
{88,36,68,87,57,62,20,72,3,46,33,67,46,55,12,32,63,93,53,69},
{4,42,16,73,38,25,39,11,24,94,72,18,8,46,29,32,40,62,76,36},
{20,69,36,41,72,30,23,88,34,62,99,69,82,67,59,85,74,4,36,16},
{20,73,35,29,78,31,90,1,74,31,49,71,48,86,81,16,23,57,5,54},
{1,70,54,71,83,51,54,69,16,92,33,48,61,43,52,1,89,19,67,48}}
解法:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            int[,] a ={{8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8},
                    {49,49,99,40,17,81,18,57,60,87,17,40,98,43,69,48,4,56,62,0},
                    {81,49,31,73,55,79,14,29,93,71,40,67,53,88,30,3,49,13,36,65},
                    {52,70,95,23,4,60,11,42,69,24,68,56,1,32,56,71,37,2,36,91},
                    {22,31,16,71,51,67,63,89,41,92,36,54,22,40,40,28,66,33,13,80},
                    {24,47,32,60,99,3,45,2,44,75,33,53,78,36,84,20,35,17,12,50},
                    {32,98,81,28,64,23,67,10,26,38,40,67,59,54,70,66,18,38,64,70},
                    {67,26,20,68,2,62,12,20,95,63,94,39,63,8,40,91,66,49,94,21},
                    {24,55,58,5,66,73,99,26,97,17,78,78,96,83,14,88,34,89,63,72},
                    {21,36,23,9,75,0,76,44,20,45,35,14,0,61,33,97,34,31,33,95},
                    {78,17,53,28,22,75,31,67,15,94,3,80,4,62,16,14,9,53,56,92},
                    {16,39,5,42,96,35,31,47,55,58,88,24,0,17,54,24,36,29,85,57},
                    {86,56,0,48,35,71,89,7,5,44,44,37,44,60,21,58,51,54,17,58},
                    {19,80,81,68,5,94,47,69,28,73,92,13,86,52,17,77,4,89,55,40},
                    {4,52,8,83,97,35,99,16,7,97,57,32,16,26,26,79,33,27,98,66},
                    {88,36,68,87,57,62,20,72,3,46,33,67,46,55,12,32,63,93,53,69},
                    {4,42,16,73,38,25,39,11,24,94,72,18,8,46,29,32,40,62,76,36},
                    {20,69,36,41,72,30,23,88,34,62,99,69,82,67,59,85,74,4,36,16},
                    {20,73,35,29,78,31,90,1,74,31,49,71,48,86,81,16,23,57,5,54},
                    {1,70,54,71,83,51,54,69,16,92,33,48,61,43,52,1,89,19,67,48}};
            int max = -100000;
            for (int i = 0; i < 20; i++)
                for (int j = 0; j < 17; j++) {
                    int k = a[i, j] * a[i, j + 1] * a[i, j + 2] * a[i, j + 3];
                    if (k > max) max = k;
                }
            for (int i = 0; i < 20; i++)
                for (int j = 0; j < 17; j++)
                {
                    int k = a[j, i] * a[j + 1, i] * a[j + 2, i] * a[j + 3, i];
                    if (k > max) max = k;
                }
            for (int i = 0; i < 17; i++)
                for (int j = 0; j < 17; j++)
                {
                    int k = a[i, j] * a[i + 1, j + 1] * a[i + 2, j + 2] * a[i + 3, j + 3];
                    if (k > max) max = k;
                }
            for (int i = 19; i >2; i--)
                for (int j = 0; j < 17; j++)
                {
                    int k = a[i, j] * a[i - 1, j + 1] * a[i - 2, j + 2] * a[i - 3, j + 3];
                    if (k > max) max = k;
                }
            Console.WriteLine(max);
            Console.ReadLine();
        }
    }
}
得到IL0V3Pr0Gr4m@#!!
#空白表示
%00,%0a,%0d,%0a%0d,%0b,%0c,%a0,null,none
#图片隐写术#
################################################################################################
1. Stegsolve
a) Stegsolve打开-analyse-file format可查看相关信息
i. http://bobao.360.cn/ctf/learning/138.html web 1
b) 对于lsb图片隐藏
同样是用stegsolve打开-data extract-尝试Bit Planes-preview查看相关信息
2.对图片的微处理
A )一些文件用16进制打开后可以看出来是图片,但图片查看器缺无法打开,也许是缺少png头。加上png头后便可以打开.
B )尝试修改图片分辨率,查看flag是否被覆盖
i.http://bobao.360.cn/ctf/learning/137.html 强网杯
c ) 合并的图片文件
对于合成的图片根据文件头可分辨内容
Jpg gif89a
Png png 标志:IHDR 文件头16进制:89 50 4e 47 0d 0a 1a 0a
Rar PK
各类文件头及类型:http://ctf.idf.cn/index.php?g=&m=article&a=index&id=30
D )base64编码后的文件
Data:image/png;base64…….. Base64编码后的png图片,直接放到浏览器上回车得到图片
http://tool.chinaz.com/qrcode/
E)有些图片直接用记事本打开看不到内容,但在linux下用cat filename就会得到意想不到的结果。
3. binwalk
binwalk -e 自动导出,猥琐流啊!功能强大啊!我靠
Binwalk是一个固件的分析工具,旨在协助研究人员对固件非分析,提取及逆向工程用处。简单易用,完全自动化脚本,并通过自定义签名,提取规则和插件模块,还重要一点的是可以轻松地扩展。可用来检测是否有合并的文件。并且可以提取数据。
#使用的时候注意查看不同文件所在的开头数字,别着急,慢慢来嘛
>binwalk 2.png
>结果如下:
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             PNG image, 266 x 205, 8-bit/color RGBA, non-interlaced
80            0x50            Zlib compressed data, default compression, uncompressed size >= 98304
100097        0x18701         RAR archive data
说明这小小的图片还有个.rar压缩包在里面,那就用dd命令提取出来:
dd if=2.png of=2.rar bs=1 skip=100097
if=输入文件名,of=输出文件名,bs=数据块大小(bytes),skip=跳过数据块数。
原文链接:http://blog.csdn.net/shinukami/article/details/45980395 
####winhex里修改图片的长度和宽度也能实现隐写啊
4.dmp文件隐写
在线分析网站:http://www.osronline.com/page.cfm?name=analyze
Ctf地址:http://bobao.360.cn/ctf/learning/153.html
5.右键查看详情。
Linux下会看到比win多的东西。在linux下打开图片。点击细节。
还需要查看exif头等
 
6.视频隐写
fMP4及其他fmpeg可以把一帧帧的视频分割为一张张的图片。具体怎么使用可以在linux下man ffmpeg。
Avi:MSU VideoStego 
7.pdf隐写
wbStego4open
8.音频隐写
#coolpro
#Audacity
#MP3Stego
#用winhex打开文件,发现文件尾部十六进制全部都是35,用windex对文件进行xor运算,最后把文件保存为mp3格式,得到的mp3用coolpro打开,反转播放,读出的内容即为flag
#视频隐写
#### PEN_AND_APPLE
E:\a题库\三叶草极客大挑战第七季\三叶草MISC\PEN_AND_APPLE
这道题有些脑洞,不过也是一种很常见的隐写技术,后来提示与win的type命令有关,可以找到相关资料,type命令可以用于ntfs文件写入,通过工具“`alternatestreamview“`扫描文件得到如下所示
9.vmdk隐写
采用Dsfok-tools来对数据进行隐藏,通常这个工具是用来编辑vmdk文件中的描述符。
http://drops.wooyun.org/tips/12614
10.可执行文件
对于可执行文件的数据隐藏可以使用Hydan
http://drops.wooyun.org/tips/12614
11.NTFS文件系统ida隐藏
http://drops.wooyun.org/tips/12614
##有思路就去试试,说不定就成功了!
12.双图隐写--stegsolve咯
#二维码
遇到二维码先扫啊,微信,qq,浏览器,实在不行上命令行,再不行就反色,binwalk,stegsolve走一波
#gif 动态二维码 
丢到Namo GIF Animator 里,如果显示不全记得从-查看-动画属性里修改长度和宽度
#图片隐写
https://zhuanlan.zhihu.com/p/23127122 本专栏内容丰富,很长姿势
0.有时候百度google识图也能用上
winhex下jpg开头是FF D8 结尾是FF D9
winhex下png开头是89 50
1.改为txt格式,也许有flag
2.改为zip或rar格式,解压也许会有,用图片查看器更改色温,饱和度,亮度,色温等等。属性查看图片备份信息。丢到stegsolve里左右点击看看有啥东西
3.windows下用命令行stegdetect检查是否加密,JPHS破解Jphide加密
H:\ctf\StegDetect-0.4-for-Windows-master>stegdetect.exe  -tjopi -s 10.0 H9QJnHU.jpg    
或者H:\ctf\StegDetect-0.4-for-Windows-master>stegdetect -s 3.0 at.jpg
用来检测该图片用的哪种加密方式
H9QJnHU.jpg与stegdetect同目录
检测出来若为jphide加密,则使用stegbreak破解
H:\ctf\StegDetect-0.4-for-Windows-master>stegbreak -r rules.ini -f password.txt -t p  at.jpg 
必须得用这种格式,password.txt为字典 
Loaded 1 files...
at.jpg : jphide[v5](a)  a为at.jp的jphide密码
Processed 1 files, found 1 embeddings.
Time: 0 seconds: Cracks: 1,      Inf c/s 
若返回pssword中的最后一个密码,则说明破爆破失败
4.kali下binwalk查看图片内是否有藏得其他东西 
# binwalk x.png  x.png位于kali的主文件夹
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             PNG image, 902 x 550, 8-bit/color RGB, non-interlaced
711661        0xADBED         PNG image, 1000 x 562, 8-bit/color RGBA, non-interlaced
711752        0xADC48         Zlib compressed data, compressed, uncompressed size >= 98304
2132968       0x208BE8        Zlib compressed data, default compression, uncompressed size >= 1458
可以看出x.png里面还存在一张png的图片
然后我们可以使用dd命令分离出隐藏文件:
# dd if=x.jpg of=x-1.jpg skip=711752 bs=1

记录了1421497+0 的读入
记录了1421497+0 的写出
1421497字节(1.4 MB)已复制,5.11977 秒,278 kB/秒
输出的图片也在kali的主目录下,kali下有些图片显示不出来,可以拿到windows下查看。
可以参考 dd命令详解 ,这里if是指定输入文件,of是指定输出文件,skip是指定从输入文件开头跳过711752个块后再开始复制,bs设置每次读写块的大小为1字节 。
5.pngcheck.exe -v secret-1.png  利用pngcheck查看png是否存在IDAT异常,因为IDAT是png图片中储存图像像数数据的块
#打开word文档全选--更改字体颜色---有可能猥琐地找到flag
#MP3Stego
Decode.exe -X -P 9158753624 apple.mp3
#mp3stego爆破脚本
#coding=utf-8
import os
import subprocess
for a in open(maple.txt):  #密码字典
    command=decode -X -P %s mp3.mp3 % a.strip()
    print command
    p = subprocess.Popen(command, stdin = subprocess.PIPE,
    stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = True)
    if "unexpected end of cipher message."not in p.communicate()[1]:
        print p.communicate()
        print command
        Break
#winhex打开先搜一波flag,key
#RGB点画二维码
文本:
255,255,255
255,0,255
.....
#coding=utf-8
from PIL import Image
import re
if __name__ == __main__:
    x = 280 #宽
    y = 280 #高
    i = 0
    j = 0
     
    c = Image.new("RGB", (x,y))
    file_object = open(hint.txt)
     
    for i in range(0,  x):
        for j in range(0,  y):
            line = file_object.next()
            lst = line.split(",")
            c.putpixel((i, j), (int(lst[0]), int(lst[1]), int(lst[2])))
     
    c.show()
c.save("c.png")
#01画二维码

#wireshark
0.过滤http,https,等协议
1.binwalk一下,看是否藏有其他文件,如果遇到加密zip,可以winhex打开搜搜密码,或者爆破
2.wireshark打开,无需过滤,直接 文件-导出-HTTP-saveall。。。就能看见一个flag.rar
#固件分析
小伙子遇到固件分析提不要怕
binwalk -e xxx.bin 自动提取文件,进入得到的文件夹目录,发现decode.py 运行得到falg
#脚本类 

小明要参加一个高技能比赛,要求每个人都要能够快速口算四则运算,2秒钟之内就能够得到结果,但是小明就是一个小学生没有经过特殊的培训,那小明能否通过快速口算测验呢?
这一题主要是考你如何利用编程,获取算式信息并计算其结果并提交。不可能用人工口算快速得到结果的,不要被题目所迷惑。
直接上代码(我使用的是python编写)
#!/usr/bin/env python
#-*- coding:utf_8 -*-
import re
try:
    import requests
except ImportError:
    raise SystemExit(\nimport module error ,please pip install requests!)
s = requests.Session()
header = {Cookie: PHPSESSID=21043f4dd0550ef63816741ae089ea7f}
url = http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php
r = s.get(url, headers=header)
c = r.content
#regstr = re.compile(r[0-9]+[*+]+[0-9]+[*+]+[0-9]+[*+]+\([0-9+]+\))
#上面这样写的正则表达式有点啰嗦,看下面更简单的
regstr = re.compile(r[0-9+*()]+[)])
try:
    obj = regstr.findall(c)
    if obj:
        result = eval(obj[0])
        data = {v:result}
        r = s.post(url,data=data,headers= header)
        print r.content
finally:
    print ok!!!

#或者这样
#!/usr/bin/env python
# -*- coding: gbk -*-
# -*- coding: utf-8 -*-
# Date: 2014/11/25
# Created by 独自等待
# 博客 http://www.waitalone.cn/
import re

try:
    import requests
except ImportError:
    raise SystemExit(\n[!] requests模块导入错误,请执行pip install requests安装!)

print \n网络信息安全攻防学习平台脚本关第2题\n
s = requests.Session()
url = http://1.hacklist.sinaapp.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php
r = s.get(url)
res = unicode(r.content, utf-8).encode(gbk)
# print res

num = re.findall(re.compile(r<br/>\s+(.*?)=), res)[0]
print 当前获取到需要口算的表达式及计算结果为:\n\n%s=%d\n % (num, eval(num))

r = s.post(url, data={v: eval(num)})
print re.findall(re.compile(r<body>(.*?)</body>), r.content)[0]
#bin文件
conf.bin 看来是路由器配置文件 
上工具 routerpassview,打开bin文件,搜索关键字-- 
#图片异或XOR
根据图片名称"xor",可知是异或,写脚本
f = open(flag.png)
enc = f.read()
f.close()
f = open(xor.png)
xor = f.read()
f.close()
s = r0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"$\‘()*+,-./:;<=>?@[\\]^`{|}~\‘"_%
flag = ‘‘
for i in range(100):
   for c in s:
       if ord(xor[i]) ^ ord(c) == ord(enc[i]):
       flag += c
       print flag

隐写的一些常见的考点

https://zhuanlan.zhihu.com/p/23127122 本专栏内容丰富,很长姿势
0.有时候百度google识图也能用上
winhex下jpg开头是FF D8 结尾是FF D9
winhex下png开头是89 50
1.改为txt格式,也许有flag
2.改为zip或rar格式,解压也许会有,用图片查看器更改色温,饱和度,亮度,色温等等。属性查看图片备份信息。丢到stegsolve里左右点击看看有啥东西
3.windows下用命令行stegdetect检查是否加密,JPHS破解Jphide加密
H:\ctf\StegDetect-0.4-for-Windows-master>stegdetect.exe  -tjopi -s 10.0 H9QJnHU.jpg    
或者H:\ctf\StegDetect-0.4-for-Windows-master>stegdetect -s 3.0 at.jpg
用来检测该图片用的哪种加密方式
H9QJnHU.jpg与stegdetect同目录
检测出来若为jphide加密,则使用stegbreak破解
H:\ctf\StegDetect-0.4-for-Windows-master>stegbreak -r rules.ini -f password.txt -t p  at.jpg 
必须得用这种格式,password.txt为字典 
Loaded 1 files...
at.jpg : jphide[v5](a)  a为at.jp的jphide密码
Processed 1 files, found 1 embeddings.
Time: 0 seconds: Cracks: 1,      Inf c/s 
若返回pssword中的最后一个密码,则说明破爆破失败
4.kali下binwalk查看图片内是否有藏得其他东西 
# binwalk x.png  x.png位于kali的主文件夹
DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
0             0x0             PNG image, 902 x 550, 8-bit/color RGB, non-interlaced
711661        0xADBED         PNG image, 1000 x 562, 8-bit/color RGBA, non-interlaced
711752        0xADC48         Zlib compressed data, compressed, uncompressed size >= 98304
2132968       0x208BE8        Zlib compressed data, default compression, uncompressed size >= 1458
可以看出x.png里面还存在一张png的图片
然后我们可以使用dd命令分离出隐藏文件:
# dd if=x.jpg of=x-1.jpg skip=711752 bs=1

记录了1421497+0 的读入
记录了1421497+0 的写出
1421497字节(1.4 MB)已复制,5.11977 秒,278 kB/秒
输出的图片也在kali的主目录下,kali下有些图片显示不出来,可以拿到windows下查看。
可以参考 dd命令详解 ,这里if是指定输入文件,of是指定输出文件,skip是指定从输入文件开头跳过711752个块后再开始复制,bs设置每次读写块的大小为1字节 。
5.pngcheck.exe -v secret-1.png  利用pngcheck查看png是否存在IDAT异常,因为IDAT是png图片中储存图像像数数据的块

 

misc_

标签:base64   取数   .com   指定   bcd   wireshark   百度google   网页   .net   

原文地址:https://www.cnblogs.com/1go0/p/9981475.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!