刷题回顾(持续更新)

misc

图片隐写

  • PDF转换器(桌面上)将pdf格式转化为word格式
  • word 文件可以取消隐藏文字

流量

  • 可以直接搜索flag
mysql contains flag
  • 追踪tcp流,http流
  • 提示有length时很有可能与ascii码有关

密码

  • 最常见的是base64,进制转换,进制与字符转换
  • 栅栏密码:简单的移动字符位置
  • 培根密码:AABBA ABBAA
  • 摩斯电码 .-…- …-.-.
  • 盲文对照表
    在这里插入图片描述

脚本

  • 从图像中获取文字
import pytesseract
from PIL import Image
 
pytesseract.pytesseract.tesseract_cmd = r'D:\工具\Tesseract-OCR--图片识别\tesseract.exe'
tessdata_dir_config = r'--tessdata-dir "D:\工具\Tesseract-OCR--图片识别\tessdata"'
 
image = Image.open(r"D:\misc1.png")
code = pytesseract.image_to_string(image, config=tessdata_dir_config)
 
print(code)
  • 获取图像宽高(有crc)
    png
import struct
import binascii
import os

m = open(r"C:/Users/Lenovo/Desktop/misc33.png", "rb").read()
k = 0
for i in range(5000):
    if k == 1:
        break
    for j in range(5000):
        c = m[12:16] + struct.pack('>i', i) + struct.pack('>i', j)+m[24:29]
        crc = binascii.crc32(c) & 0xffffffff
        if crc == 0x5255a798:
            k = 1
            print(hex(i), hex(j))
            break
  • 获取图像宽高(无crc)
    jpg
import zlib
import struct
filename = "C:/Users/Lenovo/Desktop/misc35.jpg"
with open(filename, 'rb') as f:
    all_b = f.read()
    #w = all_b[159:161]
    #h = all_b[157:159]
    for i in range(920,950):
        #901-1200
        name = str(i) + ".jpg"
        f1 = open(name,"wb")
        im = all_b[:159]+struct.pack('>h',i)+all_b[161:]
        f1.write(im)
        f1.close()

png

import zlib
import struct

filename = "C:/Users/Lenovo/Desktop/misc34.png"
with open(filename, 'rb') as f:
    all_b = f.read()
#w = all_b[16:20]
#h = all_b[20:24]
    for i in range(1100,1200):
        # 901-1200
        name = str(i) + ".png"
        f1 = open(name,"wb")
        im = all_b[:16]+struct.pack('>i',i)+all_b[20:]
        f1.write(im)
        f1.close()

gif

import zlib
import struct
filename = "misc36.gif"
with open(filename, 'rb') as f:
    all_b = f.read()
    for i in range(920,951):
        name = str(i) + ".gif"
        f1 = open(name,"wb")
        im = all_b[:38]+struct.pack('>h',i)[::-1]+all_b[40:]
        f1.write(im)
        f1.close()

压缩包加密

  • 暴力
  • 字典
  • 明文
  • zip伪加密
  • 里面文件被损坏可以试试修复
  • 伪加密也可以用Linux 7z解压 (打开vmdk文件)
7z x flag.vmdk -o./           
//注意解压的不是压缩包,是压缩包里的文件
  • 010提取zip–PK是zip文件的标志,不过也有可能会是doc文件。zip文件头504B0304

图片隐写

  • jpg隐写用jpgh打开
  • 010editor 看宽高,ctrl+f搜索flag,看最下面图片信息(jpg,bmp,gif)修改宽高,看文件头分离图片或查看文件头是否受损:
    JPG:FFD8FF(开头FFD8,结尾FFD9)
    PNG:89504E47
    GIF:47494638
    ZIP:504B0304
    RAR:52617221
  • linux
    1,binwalk和foremost分离
    2,exiftool查看图片全部信息

3,identify 主要用于获取一个或多个图像文件的格式和特性。

identify -format  "%T "  misc39.gif > 1.txt

4,zsteg可以检测PNG和BMP图片里的隐写数据。
查看lsb

zsteg xxx.bmp
zsteg xxx.png
zsteg -a (文件名)    #查看各个通道的lsb

检测zlib

#-b的位数是从1开始的
zsteg zlib.bmp -b 1 -o xy -v

懒人专属

zsteg 1.png --all

分离文件

zsteg -e extradata:0 misc17.png >1.txt

5, file 1.txt -->查看文件类型
6,strings 1.txt—>打印文件中可打印的字符
7,steghide发现图片有隐写文件(图片与文件合并),使用steghide extract -sf good.jpg,空密码即可

  • 查看删除IDAT模块(png):tweakpng,debugger(kali也可以使用)
  • bmp计算图片宽高.
    一般图片都是900px150px
    像素数=(总字节数-末尾俩0的字节-文件头字节)/3=225000=宽
  • 查看图片属性,这里可用EXIF查看器
  • Png-Debugger 检测各数据块中的 CRC 是否正确
    使用方法 pngdebugger 文件路径
  • 查看IDLE
    kali pngcheck pngcheck -vv 文件路径
    若出现问题,用用tweakpng删了
  • exiftool,提取照片exif的信息
    exiftool 文件路径
  • 区分png和apng,用apngdisassembler直接分离每一帧

音频类隐写

audacity记得要以wav形式导出
在这里插入图片描述
用这个网站听取摩斯电码音频

  • 记得看图片属性
  • 区分png和apng的关键:010editor是否有fcTL,apngdisassembler分离apng,stegsolve分离gif

web

1,使用burpsuite进行POST需要二部曲:

  • 在请求头模块输入post=xxx
  • 修改请求方式
    在这里插入图片描述

2,变量覆盖与MD5

  • 显性覆盖$a=$_GET[xx]
  • 隐性覆盖 parse_str()–字符串 extract()数组

MD5

  • 0e绕过(弱类型比较)
md5('QNKCDZO') == md5(240610708)//

MD5加密后会变成这个样子

0e830400451993494058024219903391 == 0e462097431906509019562988736854
  • 数组绕过(弱类型比较/强类型比较)
md5(a[]=1) === md5(b[]=1)//    null===null
  • MD5碰撞(两个不同内容的输入,经过散列算法后,得到相同的输出)
a=%5Eq%FEO%AF%81-%1EW%99%0B%94W%EB%1F%84%13g%A0%A4%3A%08p%90%18%FAA%D644%C7W%0B%C2%ED%D0%D8%00%D8%DB%8B%C2%EBY%AE7%E9u%12b%F1%13%D8ce%7C%5D%01%CBiW5%0D%B4%BEm%ECR%EE%7B%83%0E%C9%25%80%AB%A9%09E%7DT%D2%94%98%C3%13%B3%DC%1A%9D%A6%27J%8B%1D%DD%05%E0%3A%88%D4%97%B4%A5%3E%17%15%9A%96P%B6%FE%E2%7C%16%05%9F%C9ceR%948tok%B8%98

&b=%5Eq%FEO%AF%81-%1EW%99%0B%94W%EB%1F%84%13g%A0%24%3A%08p%90%18%FAA%D644%C7W%0B%C2%ED%D0%D8%00%D8%DB%8B%C2%EBY%AE%B7%E9u%12b%F1%13%D8ce%7C%5D%01%CB%E9W5%0D%B4%BEm%ECR%EE%7B%83%0E%C9%25%80%AB%A9%09E%7DT%D2%94%18%C3%13%B3%DC%1A%9D%A6%27J%8B%1D%DD%05%E0%3A%88%D4%97%B4%A5%3E%17%15%9A%96%D0%B5%FE%E2%7C%16%05%9F%C9ceR%948%F4ok%B8%98
  • MD5-SQL注入
ffifdyop 的MD5加密结果是 276f722736c95d99e921722cf9ed621c

经过MySQL编码后会变成'or'6xxx,使SQL恒成立,相当于万能密码,可以绕过md5()函数的加密

3,http

跳转新的页面可以抓包 也可以cmd直接执行curl -v 新网址

4,信息泄露思路

  • 先用7ksban扫描
  • 网站备份文件
  • 解压源码
www.zip
  • vim文件
程序员使用vim编辑器编写一个index.php文件时,会有一个.index.php.swp文件,如果文件正常退出,则该文件被删除,如果异常退出,该文件则会保存下来,该文件可以用来恢复异常退出的index.php,同时多次意外退出并不会覆盖旧的.swp文件,而是会生成一个新的,例如.swo文件。

以 index.php 为例 第一次产生的缓存文件名为 .index.php.swp
第二次意外退出后,文件名为.index.php.swo
第三次产生的缓存文件则为 .index.php.swn
注意:index前有 “ . “
  • git源码泄露
 url/.git/index.php

能扫描到

http://url/.git/
http://url/.git/config

利用GitHack进行信息读取:

python GitHack.py http://url/.git/

或者dvcs-ripper

rip-git.pl -v -u http://url/.git
  • hg泄露
    能扫到
http://url/.hg/

dvcs-ripper

rip-hg.pl -v -u http://url/.hg
  • SVN 源码泄露
url/.svn 

能扫到以下目录

http://url/.svn/entries

dvcs-ripper

rip-svn.pl -v -u http://www.example.com/.svn/
  • bzr/Bazaar泄露
    能扫到
http://url/.bzr/

dvcs-ripper

rip-bzr.pl -v -u http://www.example.com/.bzr/
  • CVS泄漏
    能扫到
http://url/CVS/Root 返回根信息 
http://url/CVS/Entries 返回所有文件的结构

dvcs-ripper

rip-cvs.pl -v -u http://www.example.com/CVS/
  • DS_Store 文件泄露
    能扫到
http://url/.DS_Store

dsstoreexp

python ds_store_exp.py http://url/.DS_Store
  • GitHub源码泄漏
https://github.com/search?q=smtp+user+@qq.com&type=code
  • tobots协议
url/robots.txt
  • phps源码泄露(phps是php后缀名的变更)
url/index.phps
  • 探针泄露
url/tz.php

找phpinfo

  • sql备份
url/backup.sql
  • mdb文件泄露
url/db/db.mdb 

命令执行
命令执行

知识点

  • 重定向:跳转另一个页面
  • 网页禁止复制粘贴,可以禁用javascript
  • preg_replace() str_ireplace()可以双写绕过
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值