解题报告 濮元杰部分:

王者归来: 120

场景

小王入职了一段时间,最近有点无聊。Web安全项目不多,白天看着其他项目组的同事忙得热火朝天,小王有点坐不住了,这也许是新人都会有的想法,乐于助人。想到这,小王一眼看到了隔壁的小丽,哎,IT界小丽绝对算得上是一位美女啦,于是小王凑了过去对小丽说:小丽,看你眉头紧锁的,需要本大侠帮忙吗?小丽转头看着小王,愣了足足有10秒,突然说:那,那好吧,如果你帮我搞定这三个问题,嗯~我请你吃晚饭,就我们两个。天哪,这,这,小王已经按耐不住突如其来的喜悦,战斗力倍增,大喝一声:好,来吧! (为了得到美女垂青,小王决定放手一搏)

描述

题干:小丽被分派去破解一份被加密的数据库登录配置文件,小丽通过N次测试后发现,原来TEST 用户的密码竟然是TEST123123,但这个数据库帐号能用的功能太少了,而小丽的组长却要求她分析出SA的密码。于是小丽把这个任务作为第二个难题抛给了小王。事实上,这件事对于小王来说也不算难,小王沉下心来努力还原算法,最终得到了 sa的密码(flag)。
DatabaseName="TEST" user="TEST" password="00560041005b00440011007200b3013100300037"
DatabaseName="GCOA" user="sa" password="0071007e007f006a004b002a00e70163006d0065002900500003"

解题:一开始关注到了后面的数字都比前面的大,并且是四个四个一组的,上了个厕所后脑洞大开,TEST123123--------ascii----》84 69 83 84 49 50 51 49 50 51------binary---à 1010100 1000101 1010011 1010100 110001 110010 110011 110001 110010 110011

0056 0041 005b 0044 0011 0072 00b3 0131 0030 0037------binary------à1010110 1000001 1011011 1000100 10001 1110010 10110011 100110001 110000 110111

将两个二进制放在一起并且添加前导0对比:

1010100 1000101 1010011 1010100 110001 110010 110011 110001 110010 110011

1010110 1000001 1011011 1000100 10001 1110010 10110011 100110001 110000 110111

发现上下两个串便是XOR 10 100 1000 10000 100000…10 100 1000….找到规律后迅速解决了这题

1110001 1111110 1111111 1101010 1001011 101010 11100111 101100011 1101101 1100101 101001 1010000 11  --》

1110011 1111010 1110111 1111010 1101011 1101010 1100111 1100011 1101111 1100001 100001 1000000 100011

Answer: szwzkjgcoa!@#

抽丝剥茧: 140

场景

这是一次高手间的较量。就在5分钟前,吴总把小王叫到办公室,神秘的对他说:小王,你在公司表现一直不错,我关注你已经很久了。现在,公司里可能出现了商业间谍,我们初步怀疑是小丁,但没有证据。这件事我决定交给你去处理,但是你要绝对保密。小王寻思:小丁也是一名出色的信息安全工程师,想要从他留下的蛛丝马迹中找出线索,完成吴总交代的任务,着实是一件头痛的事情。

描述

题干:据相关情报得知,小丁一直在公司中访问一个网址的文件服务器,并上传了一些数据,这里很可能都是公司的机密数据,但是这台服务器安全性很好,暂时无法突破,所以我们需要调查小丁使用的密码,这个密码我们一直怀疑跟小丁计算机上的一个压缩文件有关,至于存在什么关系,我们目前还不得而知。(提示:找到最后指向那个文件中隐藏的flag)
地址:http://range.jsxajs.cn:8080/file/one/index.docx

解题报告:这题困了我们大概一天的时间吧,第一天把文件改成rar,发现能打开,无果,寻病终。第二天终于找对了方向,先是在文件中想搜一下flag关键字,谁知搜着搜着搜到了一个白色的http开头的字符,将其变成红色后发现:Next Document http://range.jsxajs.cn:8080/file/one/ e9d520bb983c5ed0.docx

下载之,发现里面有隐藏字符(能那么快发现是因为我的word默认开启了查看隐藏字符233333),直接下载发现一幅图片:b2e514b8576fab1a.jpg

Winhex打开之发现里面藏着另一个图片的地址,再去下载发现1306f3da181885e4.jpg

仍是winhex打开,末尾发现PK文件头,应该是主办方要我们用.rar打开它,但文件应该没有压缩,因此直接往下翻一下就看到了答案:address.txt 鹁?答案字符串 1002F07D8F0088

兵不厌诈: 120

场景

两个星期后,小王顺利入职了公司,首先是为期三个月的实习期。小王与同事A、B、C一同入职,相互比较熟悉。同事A擅长加密与解密,同事B擅长逆向反汇编,同事C主要研究的是移动终端安全,小王自己擅长渗透测试。经公司领导讨论后,决定将小王与A、B、C组成一个团队。于是,小王的实习期开始了。 (声明:web类题目使用扫描工具无效,如因扫描堵塞自己学校的网络出口,后果自负)

描述

题干:揭晓入侵者如何进入后台后,开始对前端1元订单的事件进行处理。下面地址是一个购买页面,队员需要改变商品价格(1元)然后提交订单,获取flag。(提示:key的提交形式为flag:{xxxx})
地址:http://218.2.197.250/Ticket/index.html

题目大意:一开始我用fiddle抓包,但是什么包都没有抓到,再看form的action发现属性 是传到本地的,但搜索了try again关键字,都没有,于是很好奇try again到底是从哪里来的。

CSS不能弹窗,思来想去只能是js的问题,翻到bootstrap.min.js,硬着头皮看了下它的代码,用subline整理以及高亮了它的代码后,我这个强迫症终于能看它的代码了,上下翻了一下,唯一值得注意的表示一个eval函数,上下翻了下,发现alert,try,again ,flag等关键字都在里面,心情顿时好了好多

把文件头eval(function(p,a,c,k,e,r)搜索了一下 发现这个http://www.jb51.net/article/9705.htm

于是本地构造了这个HTML ,把eval函数整个放进去,解密出来看到还是加密了的内容,再次解密一下,发现了当值大于100 alert(“try again”),否则alert flag:{a10V101IGlzIGY101MTIzayEyWyky}

本来还以为要把里面这串再decode,后来发现想多了,直接把这个输进去即是答案,好开心

庐山真面: 120

场景

小王工作了一段时日,已经对现有的工作驾轻就熟了,他一直希望不断丰富自己的经验技能。正好公司即将举行底层安全工程师的竞岗考试,对于小王来说,这无疑是一个巨大的挑战。本次考试的考官是公司里出了名的“黑面罗刹”李经理——公司里做逆向分析技术的泰斗。据同事说,此次竞岗考试都是基础题目,只考核是否具备基本的逆向知识,小王略松了一口气,走进了考场。

描述

题干:李经理分发给参加每一个竞岗考试的员工一个被加密的html,李经理要求大家分析这个文档并给出第一轮考试的明文通关flag。
hash="118,97,114,32,74,61,102,117,110,99,116,105,111,110,40,109,41,123,114,101,116,117,114,110,32,83,116,114,105,110,103,46,102,114,111,109,67,104,97,114,67,111,100,101,40,109,94,50,41,125,59,101,118,97,108,40,74,40,49,48,54,41,43,74,40,57,57,41,43,74,40,49,49,51,41,43,74,40,49,48,54,41,43,74,40,51,52,41,43,74,40,54,51,41,43,74,40,51,52,41,43,74,40,51,55,41,43,74,40,56,51,41,43,74,40,49,49,48,41,43,74,40,49,49,52,41,43,74,40,49,48,57,41,43,74,40,55,55,41,43,74,40,56,54,41,43,74,40,54,56,41,43,74,40,54,52,41,43,74,40,56,53,41,43,74,40,56,49,41,43,74,40,56,56,41,43,74,40,56,54,41,43,74,40,56,53,41,43,74,40,57,49,41,43,74,40,49,49,53,41,43,74,40,53,53,41,43,74,40,49,48,49,41,43,74,40,49,49,57,41,43,74,40,49,48,49,41,43,74,40,54,55,41,43,74,40,54,55,41,43,74,40,54,55,41,43,74,40,57,57,41,43,74,40,55,50,41,43,74,40,49,48,49,41,43,74,40,55,52,41,43,74,40,56,51,41,43,74,40,56,51,41,43,74,40,55,55,41,43,74,40,53,50,41,43,74,40,49,49,55,41,43,74,40,56,51,41,43,74,40,54,55,41,43,74,40,54,53,41,43,74,40,54,55,41,43,74,40,54,55,41,43,74,40,55,57,41,43,74,40,56,55,41,43,74,40,49,49,55,41,43,74,40,54,55,41,43,74,40,54,55,41,43,74,40,56,51,41,43,74,40,55,49,41,43,74,40,49,50,51,41,43,74,40,55,54,41,43,74,40,55,57,41,43,74,40,57,57,41,43,74,40,55,51,41,43,74,40,49,49,48,41,43,74,40,55,54,41,43,74,40,56,51,41,43,74,40,55,52,41,43,74,40,56,50,41,43,74,40,56,54,41,43,74,40,56,50,41,43,74,40,49,50,51,41,43,74,40,55,48,41,43,74,40,57,49,41,43,74,40,56,53,41,43,74,40,54,52,41,43,74,40,55,54,41,43,74,40,54,56,41,43,74,40,52,57,41,43,74,40,55,50,41,43,74,40,54,56,41,43,74,40,55,55,41,43,74,40,54,56,41,43,74,40,54,53,41,43,74,40,56,51,41,43,74,40,49,48,55,41,43,74,40,49,49,50,41,43,74,40,49,49,49,41,43,74,40,54,53,41,43,74,40,53,50,41,43,74,40,54,55,41,43,74,40,54,51,41,43,74,40,51,55,41,43,39,39,41,59,10"

解题报告:一看这题眼都花了,密集恐惧症伤不起TUT 仔细看下数字范围确定是ASCII值,虽然比较水,但好歹是密码吧混了3年,CCBC出题及参赛都经历过的,岂能败在编码题上!把ascii跑出来后发现是var J=function(m){return String.fromCharCode(m^2)};eval(J(106)+J(99)+J(113)+J(106)+J(34)+J(63)+J(34)+J(37)+J(83)+J(110)+J(114)+J(109)+J(77)+J(86)+J(68)+J(64)+J(85)+J(81)+J(88)+J(86)+J(85)+J(91)+J(115)+J(55)+J(101)+J(119)+J(101)+J(67)+J(67)+J(67)+J(99)+J(72)+J(101)+J(74)+J(83)+J(83)+J(77)+J(52)+J(117)+J(83)+J(67)+J(65)+J(67)+J(67)+J(79)+J(87)+J(117)+J(67)+J(67)+J(83)+J(71)+J(123)+J(76)+J(79)+J(99)+J(73)+J(110)+J(76)+J(83)+J(74)+J(82)+J(86)+J(82)+J(123)+J(70)+J(91)+J(85)+J(64)+J(76)+J(68)+J(49)+J(72)+J(68)+J(77)+J(68)+J(65)+J(83)+J(107)+J(112)+J(111)+J(65)+J(52)+J(67)+J(63)+J(37)+'');

可对JAVASCRIPT不熟,如果没有函数可以直接浏览器url里写个javascript:跑出来,可这里有函数,仔细看J函数的功能是将所有数字异或2,于是弱弱的写了个C++(ACMer表示2分钟写不出这程序直接退役的了)

#include<cstdio>

#define maxn 2001

using namespace std;

int ch[maxn]={0,106,99,113,106,34,63,34,37,83,110,114,109,77,86,68,64,85,81,88,86,85,91,115,55,101,119,101,67,67,67,99,72,101,74,83,83,77,52,117,83,67,65,67,67,79,87,117,67,67,83,71,123,76,79,99,73,110,76,83,74,82,86,82,123,70,91,85,64,76,68,49,72,68,77,68,65,83,107,112,111,65,52,67,63,37};

int main()

{

for(int i=1;ch[i];i++)printf("%c",(char)(ch[i]^2));

return 0;

}

跑出来结果是:

hash='QlpoOTFBWSZTWYq5gugAAAaJgHQQO6wQACAAMUwAAQEyNMaKlNQHPTPyDYWBNF3JFOFCQirmC6A='

唔,最后的等号明显提示是base64,但直接解得到的是乱码,百度一下头部'QlpoOTFBWSZTW发现是BZ2压缩

转载于:https://www.cnblogs.com/philippica/p/4118432.html

人生第一场CTF的解题报告(部分)相关推荐

  1. LeetCode第45场双周赛-解题报告

    LeetCode第45场双周赛-解题报告 A. 唯一元素的和 原题链接 https://leetcode-cn.com/problems/sum-of-unique-elements/ 解题思路 因为 ...

  2. Usaco-Contest 2010Open 第一题牛友解题报告

    题目描述: 牛友 [传统题目, 2010] Bessie和其他的所有奶牛的耳朵上都戴有一个射频识别(RFID,不能使用英文缩略词)序列 号码牌.因此FJ可以机械化地计算他们的数量.很多奶牛有一个&qu ...

  3. 萌新的第一场CTF——HECTF

    写的不好,排版也差,还请见谅! 第一次打真正意义上的CTF比赛 之前有名必报,之后发现只会做签到 祥云杯也就康康就走了 这几天看了知乎的大佬,只学了3个月都能拿30名,而我只能拿75感觉有点捞 所以我 ...

  4. Letters比赛第六场1002 Babelfish解题报告

    1002 Babelfish (POJ 2503) 解题思路:字符串的哈希,找一个比较好的hash函数就可以了,冲突时用链表的形式组织.用STL中的map等容器也可以过,不过性能差点. 代码如下: # ...

  5. 巅峰极客第一场CTF部分writeup

    额,上午驾校学车,中午打了会儿安恒的月赛,就来看巅峰极客的题了.时间关系实力原因没做几个emmmm太菜了wa MISC-warmup-100pt 拿到一个bmp文件,套路走一波,右键查看属性emmm啥 ...

  6. 题解 | 2023河南萌新联赛第(四)场:河南大学 解题报告

    足下科技-c++软件开发工程师 岗位名:c++软件开发工程师 岗位类型:C++ 岗位职责: 岗位职责:1.参与公司自动驾驶软件系统中间件.框架的设计和开发:2.负责中间件在软硬件平台上的适 题解 | ...

  7. 攻防世界XCTF-MOBILE入门9题解题报告

    说实话,这几天被逆向的恐怖思维,深深的吓着了,真的要抱腿腿了,叫我失眠了好几晚,我觉得逆向分析是CTF中最难的,求腿腿指点迷津啊,我决定不闷头自己研究了.@欠费烦 感谢大佬提供的帮助,让我有了继续刷下 ...

  8. 东南大学2004年程序设计第一届初赛解题报告

    东南大学2004年第一届逻辑算法大赛初赛解题报告 农夫三拳@seu                                                                    ...

  9. 训练指南第一部分解题报告

    主要是提供训练指南第一部分解题报告链接,后面会持续更新中 307 - Sticks  (DFS+剪枝) 11292 - Dragon of Loowater (贪心) 11729 - Commando ...

最新文章

  1. Creative Web Typography Styles | Codrops
  2. Python网络爬虫--BeautifulSoup库的基本元素
  3. 越用越快的福禄克布线认证测试仪
  4. nodejs 本地php服务器,Nodejs搭建本地http服务器
  5. 移动广告聚合平台KeyMob:整合多家移动广告平台
  6. NOIP2018 DAY1T1 铺设道路(水题)
  7. 如何在Android上显示警报对话框?
  8. Android中实现Activity的透明背景效果
  9. document.body、document.documentElement和window获取视窗大小的差别
  10. 如何用photoshop做24色环_PS色相环制作方法和教程
  11. bp抓包挂代理127.0.0.1服务器出现“有软件正在阻止Firefox安全连接至网站”问题的解决方法
  12. 简单的水果价格排序(价格不重复)
  13. 数据结构与算法——先导篇
  14. gels imagej 图片处理_ImageJ在荧光照片分析中的应用介绍
  15. 检查excel指定列中是否有错别字存在
  16. 关于企业服务总线ESB
  17. Linux下vi修改行距,调整label中text显示的行间距
  18. Zigbee安全漏洞分析
  19. 软件开发委托协议(个人)
  20. hopper_零到150万编码人员:构建蚱hopper时吸取的九个教训

热门文章

  1. 你查看的网页正在试图关闭选项卡
  2. ArrayObject的使用
  3. 【2021年终盘点】12月全国气象短视频(快手、抖音)影响力榜单
  4. dijkstra算法_最短路径算法—Dijkstra算法详解
  5. C语言求12阶乘/(8阶乘*4阶乘)并输出各项的值
  6. hasOwnProperty 1
  7. cesium实现地球自转效果
  8. python鬼屎表达式
  9. iOS 10 适配 ATS
  10. 青软集团蝉联华为云「千万俱乐部奖」「最佳销售黑钻奖」两大奖项