安恒西湖论剑线下上午CTF部分题目WP
简单的做了两个题,一道逆向,一道misc,其他题目,因为博主上课,时间不太够,复现时间也只有一天,后面的会慢慢补上
先说RE1,一道很简单的win32逆向,跟踪主函数,R或者TAB按几下,

根据esp返回地址,来确定,这里将字符串根据偏移地址依次入栈,在调用print函数后,又对字符进行了替换
因此flag很容易得到
Dbapp{crackme100}
F5看一下伪代码

如下图和汇编代码一样,做了一个赋值替换

一个do while循环将满足条件的转化为Ascll码
下一题
Misc1
开局一张图
后面用hxd和tweakpng分析的时候,留意到一个警告,百度,大致意思的图片里面内嵌了图片,
复现结束后问一个做出来的师傅,那个师傅说这张图里面内嵌了很多图片,只不过出题人把文件头给改掉了

这里我搜索的是png文件头的一部分4E47,从上图可以看到第一行就是我们所看到的最外层的图片,文件头是完整的
参考第一个,往后面看,可以注意到,文件头类似的有三张图,有开头(PNG)还有结束的标识(IEND)
可以看到文件头确实被改掉了,我们改回来然后用foremost分离图片

可以得到四张图(一张原图,三张隐藏图片)
对隐藏图片修改宽高,无果
用图片分析工具,查看,可以找到一丝端倪

有隐写痕迹,但是很模糊(三张图片都有痕迹),猜测需要异或,但是有三张图片,可能需要把三张图合并
合并之后,还是很模糊

分析不出有效的信息,太模糊了
尝试三张图片与原图片(0000000)依次异或,再进行合并

xor1和xor2合并之后,右下角的标记清晰了一些,再拿合并后的图片与xor3合并

可以看到清晰了很多,转一圈,flag有了

杂谈:
一些本人对题目的理解,多张图片合并之所以无法得到清晰的图片,关键点在像素点上,简单做个比喻,黑色像素点代表0,白色像素点代表1
异或大家都知道,1 xor 1=0; 0 xor 0=0 ;1 xor 0 =1
那么用黑白像素点做异或的话就很好理解了,多张图片黑白像素点分布是不均衡的,一旦合并,存在有的图片有全0或者全1的状况,合并之后就会把其它突破的像素点给覆盖掉
异或之后,再进行合并,0变成1,1变成0,恰好能够还原出原来的信息。
安恒西湖论剑线下上午CTF部分题目WP的更多相关文章
- CTF线下防御战 — 让你的靶机变成“铜墙铁壁”
本文首发安全客,未经允许禁止转载.原文链接 一. 前言 随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进 ...
- CTF线下赛AWD套路小结
近打了2场CTF线下赛,把AWD模式中的一些小套路做一些总结,本人web狗,二进制部分就不班门弄斧了. 一. AWD模式简介 AWD:Attack With Defence,比赛中每个队伍维护多台服务 ...
- CTF线下赛AWD模式下的生存技巧
作者:Veneno@Nu1L 稿费:200RMB 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 原文:https://www.anquanke.com/post/id/8467 ...
- ctf线下赛中检测外来IP的shell脚本
该脚本可用于ctf线下赛中,用来检测攻击IP的接入,及时做出响应. #!/bin/bash #写自己队的ip ipA="172.22.60.230" ipB="172.2 ...
- CTF线下awd攻防文件监控脚本
CTF线下awd攻防赛中常用一个文件监控脚本来保护文件,但是就博主对于该脚本的审计分析 发现如下的问题: 1.记录文件的路径未修改导致log暴露原文件备份文件夹:drops_JWI96TY7ZKNMQ ...
- CTF西湖论剑
一,西湖论剑 itoa()函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用 的基数.在上例中,转换基数为10.10:十进制:2:二进制... ...
- 域渗透复盘(安洵CTF线下)
复盘线下域渗透环境Write Up 0x01 外网web到DMZ进域 外网web入口 joomla应用 192.168.0.5 反序列化打下来 GET /index.php HTTP/1.1 Ho ...
- Nanjing GDG Meetup 8月线下活动
致各位亲爱的 Google 技术爱好者 很高兴的通知各位朋友,Nanjing GDG 将在本周六 (08/31) 举办线下活动,讨论 Android 开发实战技巧,热烈欢迎大家报名参加. 时间: 8 ...
- 南京.NET线下活动后续—一对一技术交流
4月1日星期六,发生了几件大事: 1.网民与老板花式斗图,庆祝愚人节. 2.国务院设立雄安新区,定为千年大计 3.纳龙科技的程序猿赴镇江斯诺物联科技进行一对一技术交流. 此次一对一交流活动是3月11日 ...
随机推荐
- [Docker] 六步运行一个 sentry 实例
# 6步, https://hub.docker.com/_/sentry/ # 依赖Redisdocker run -d --name sentry-redis redis:3.2.12 # 依赖p ...
- [分享会] 微服务框架设计 (基于Swoole)
框架三要素 1. Service 通信 2. 服务管理 3. 开发组件 为什么需要服务 1.自治性 2.可组合 3.异构性 2.弹性扩展 -实现方式- 共享库 1.二进制文件/Compos ...
- SimpleDataFormat 线程不安全解决
SimpleDataFormat 是我们常用的时间转换工具,我再spark中使用sdf对时间戳进行转换,发现转化出的时间有异常,原来sdf是线程不安全的, 改用joda time,错误消失,样例如下 ...
- jquery实现比较靠谱的手风琴代码
比较靠谱的手风琴代码<pre><!DOCTYPE html><html><head> <meta charset="utf-8" ...
- MYSQL:查询单表中不同邮箱最近一次发送状态
1.联系方式表-customer_contact: id email 1 123456@qq.com 2 987643@qq.com 3 hahaha@qq.com 2.发送邮件记录表-contact ...
- PHP调用webServer接口遇到的坑
昨天公司分配给我一个任务,写一个中转接口,目标接口是一个webservice类型的接口,平时没有接触过,然后遇到一些坑, 一般情况下,能在浏览器打开并显示数据的接口是直接可以使用 CURL或者file ...
- 使用matplotlib绘制3D函数图像
学习并尝试了利用matplotlib进行3D函数图像的绘制 import matplotlib.pyplot as plt # 绘图用的模块 from mpl_toolkits.mplot3d imp ...
- 回文树/回文自动机(PAM)学习笔记
回文树(也就是回文自动机)实际上是奇偶两棵树,每一个节点代表一个本质不同的回文子串(一棵树上的串长度全部是奇数,另一棵全部是偶数),原串中每一个本质不同的回文子串都在树上出现一次且仅一次. 一个节点的 ...
- HTTP响应状态
状态码分类 状态码详解 状态码 英文提示 说明 100 Continue 继续 101 Switching Protocols 切换协议.服务器根据客户端的请求切换协议.只能切换到更高级的协议,例如, ...
- javaweb之添加学生信息
1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1分) 3性别:要求用单选框或下拉框 ...