week5-web-流量分析
https://www.wireshark.org/download.html 上面的是安装网址,直接安装就好 我们通常使用wireshark来分析,捕获,可视化网络流量 flag等信息直接隐藏在流量包中,或者通过分析流量包看流量包中是否有其他文件(jpg,zip,png等类型),通过提取解决,进行下一步分析 类型:1.流汇聚(直接流汇聚得到flag)明文的就不说了,很简单 2.提取数据的(1)藏在压缩包中没找到例题 (2)藏在图片中Cephalopod我们先查找一下,在列表,详情,字节流中都找一下flag这个关键字 我们看到了flag.png这个字符串 重新搜索一下png文件头(89 50 4E...
week5-re-例题
[HNCTF 2022 WEEK2]e@sy_flower 先查壳,32位,并且没有加壳 直接拖进ida 看到这一部分,可能是花指令 我们把前面的E9改为90 在main函数按P生成一下,再f5转换 发现有两段加密代码 第一段 这个的作用是将原本的字符串重排,循环的次数=字符串长度/2 第二段主要就是一个异或 我们可以利用脚本来解决这个问题 12345678910111213141516171819202122232425#include<stdio.h>#include<string.h>int main(int argc, char const *argv[]){ char flag[] = "c~scvdzKCEoDEZ[^roDICUMC"; char v5; int len = strlen(flag); for (int i = 0; i < len / 2; ++i) { v5 = flag[2 * i]; ...
week4-re-迷宫
迷宫[SWPUCTF 2021 新生赛]老鼠走迷宫我们先用die查壳 发现有一个打包工具Pylnstaller,我们可以利用pyinstxtractor.py来解决,我们先看看这个附件的文件类型,拖进010后,文件头是4D 5A 90...
week3-re-tea
week3-re-tea算法特征tea 算法主要特征表现在 sum 和 delta 变量,以及三行核心加密中出现的右移 4 左移 5,两行各有 3 个小括号相互异或。 加密过程密钥长度为 128 位 下面被拆分成 4 个子密钥 [K0,K1,K2,K3] 将 64 位明文分成两部分(假设为 L,R,各 32 位) 进行 64 轮加密,更新 L,R 12345for (int i = 0; i < 64; i++) { L += ((R << 4) + K0) ^ (R + sum) ^ ((R >> 5) + K1); R += ((L << 4) + K2) ^ (L + sum) ^ ((L >> 5) + K3); sum += delta; // delta = 0x9E3779B9(黄金比例相关)} (R << 4) + K0:左移 4 位后叠加 K0。 (R >> 5) + K1:右移 5 位后叠加 K1。 sum 初始值为 0,每轮加密累加...
week1-web-校赛wp
week1-校赛复现Miscbaby_misc下载压缩包打开后,其中还有一个压缩文件和一个 mp3 格式文件,其中的压缩文件是加密的,如下: 所以我们要找到这个文件的密码,由题目中的提示,如下: 可知 mp3 音频的密码是 1111,解决音频后可能得到压缩包的密码 对于如何在 MP3stego 中执行解码命令 decode -X -P 密码 输入.mp3 打开后发现是压缩包,将其复制进入 010,并保存 保存成压缩包形式打开后 发现每一个文本中都有循环冗余,原始大小都为 6 字节 依次暴破 找到了压缩文件密码,如下: oh_you_are_9ood_at_CRC32 解压完成后打开,内容如下: 看他的文件头,就可以发现这是一个 gif 动图,将其复制进 010 中并保存 重新打开后就可以看到转瞬即逝的 flag,利用 stegsolve 分析 选择 Frame Browser 对动图进行逐帧分析 得到 QLNU{L1st3n_bE4ut1ful_5ong} Ez_QR下载并解压附件后是 50 个二维码 方法一:依次扫描...
week1-re-校赛wp
week1-校赛复现Miscbaby_misc下载压缩包打开后,其中还有一个压缩文件和一个 mp3 格式文件,其中的压缩文件是加密的,如下: 所以我们要找到这个文件的密码,由题目中的提示,如下: 可知 mp3 音频的密码是 1111,解决音频后可能得到压缩包的密码 对于如何在 MP3stego 中执行解码命令 decode -X -P 密码 输入.mp3 打开后发现是压缩包,将其复制进入 010,并保存 保存成压缩包形式打开后 发现每一个文本中都有循环冗余,原始大小都为 6 字节 依次暴破 找到了压缩文件密码,如下: oh_you_are_9ood_at_CRC32 解压完成后打开,内容如下: 看他的文件头,就可以发现这是一个 gif 动图,将其复制进 010 中并保存 重新打开后就可以看到转瞬即逝的 flag,利用 stegsolve 分析 选择 Frame Browser 对动图进行逐帧分析 得到 QLNU{L1st3n_bE4ut1ful_5ong} Ez_QR下载并解压附件后是 50 个二维码 方法一:依次扫描...
week2-re-花指令
Week2-re花指令就是脏代码 有不可执行花指令和可执行花指令 通常在 ida 中表现为爆红的部分,就像这次校赛中的 hua 利用反汇编算法的缺陷(线性扫描算法,递归进行算法) 关于构造通过构造必然条件或者互补条件使反汇编出错 简单 jmp只能骗过线性扫描算法,ida 能够正常识别 多层跳转多了几层跳转,和 jum 差不多 可以将花指令进行改写,让 ida 错误识别,达到目的 jnx 和 jx 条件跳转利用 jz(当 零标志位(ZF)为 1 时跳转)和 jnz(当 零标志位(ZF)为 0 时跳转)的互补条件跳转指令代替 jmp 通常在去除的过程中可以看到很明显的标志(像 jz 和 jnz 这样)分析得到 jz 和 jnz 的长度,然后全部 nop 掉 永真(永假)条件跳转这种情况下程序一定会一直执行(就是没有被 ida 识别出来) ida 反汇编优先反汇编 false 分支部分,调用某些函数返回确定值,来构造永真或永假条件 call&ret 构造花指令利用 call 和 ret,在函数中修改返回地址,从而跳过 thunkcode 到正常流程,干扰 ida...
week4-web-例题
Web[LitCTF 2023]PHP是世界上最好的语言!!根据提示已知flag位于根目录 我们先进去看一看 看到上面的这个页面,从run code可以看出,这是可以执行命令 我们需要构造payload,system("ls /");输出如下: 已知flag位于根目录,我们cat一下 我们尝试Flag是不行的,再尝试一下flag 1system("cat /Flag"); system("cat /flag"); NSSCTF{54391812-9444-4e1c-85ef-e2f448d3aec3} [SWPUCTF 2021 新生赛]easy_sql 又看到了 我们查询一下字段数,得到字段数为3 1?wllm=1' order by 3 --+ 我们进行语句查询 ?wllm=-1' union select 1,2,3 --+,找到了回显点 这样我们就得到了位置 第二行为name,第三行为password 继续查数据库名 1?wllm=-1'...
week3-web-SSRF
上面是大概的整个框架,咱们一个一个来 SSRF漏洞介绍及原理主要由攻击者构造请求,由服务端发起请求的安全漏洞,差不多就是信息泄露漏洞。攻击的目标是外网无法访问的内部系统。 形成是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。 攻击方式: 对外网,服务器所在内网,本地进行端口扫描,获取一些服务的banner信息 攻击运行在内网或本地的应用程序。 攻击内外网的web应用,使用http get请求就可以实现 利用file协议读取本地文件 漏洞产生的相关函数:file_get_contents()1234<?php$url = $_GET['url'];; #从URL参数中获取名url的值,并将其赋给变量$url,同时就意味着攻击者可通过修改URL直接控制这个变量echo file_get_contents($url); ...
week2-web
一般情况下,通过post方式传入一个参数id来查询数据库的内容。 判断sql语句闭合方式当在id的值后面加上'时,界面无回显,就可以判断后面的sql语句应该是 1select xxxx from xxxx where id = 'input_id' [xxxx] 意思表示:“从名为‘xxxx’的表中选择列‘xxxx’的所有数据,但只包括那些其’id’列与给定的’input_id’相匹配的行。” xxxx是占位符,第一个xxxx会被实际的列名替换;第二个xxxx会被表名替换。input_id被替换成想要查找的具体id值。 常见闭合模式判断表 页面反应 可能闭合方式 1’ 报错 数字型或双引号 1’ 正常 单引号闭合 1’– 正常 单引号闭合 1’) 报错 非括号闭合 1’)– 正常 单引号+括号闭合 1’ 和 1’ AND ‘1’=’1...