解题报告 濮元杰部分:

王者归来: 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压缩

人生第一场CTF的解题报告(部分)的更多相关文章

  1. 【剑指Offer】52. 两个链表的第一个公共节点 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 解题方法 方法一:栈 方法二:HashSet 方法三:不使用额外空间 日期 ...

  2. 人生第一场组队赛---2014.8 zju monthly

    暑期集训中段就组了队,不过一直没机会打比赛 昨天kitkat突然发现了zju要搞月赛,我想了一下题目对于我这种渣实在是有点难,于是想到干脆打一次组队赛吧,跟队友商量了一下也同意了 12点---17点  ...

  3. 我人生中的第一场Java面试

    1.说起我的第一次Java面试,我不禁回想起我大学时参加校园招聘的那段日子,那时候我还是本科生,由于不是科班出身,只学过一点点Java皮毛,所以那时候对于找Java工作并没有什么概念,只是以为上过Ja ...

  4. HDU 4869 Turn the pokers (2014多校联合训练第一场1009) 解题报告(维护区间 + 组合数)

    Turn the pokers Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. 【剑指Offer】第一个只出现一次的字符 解题报告(Python)

    [剑指Offer]第一个只出现一次的字符 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-intervie ...

  6. 【剑指Offer】字符流中第一个不重复的字符 解题报告(Python)

    [剑指Offer]字符流中第一个不重复的字符 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interv ...

  7. 【未完成0.0】Noip2012提高组day2 解题报告

    第一次写一套题的解题报告,感觉会比较长.(更新中Loading....):) 题目: 第一题:同余方程 描述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入只有一 ...

  8. CUGBACM_Summer_Tranning 组队赛解题报告

    组队赛解题报告: CUGBACM_Summer_Tranning 6:组队赛第六场 CUGBACM_Summer_Tranning 5:组队赛第五场 CUGBACM_Summer_Tranning 4 ...

  9. 10.30 NFLS-NOIP模拟赛 解题报告

    总结:今天去了NOIP模拟赛,其实是几道USACO的经典的题目,第一题和最后一题都有思路,第二题是我一开始写了个spfa,写了一半中途发现应该是矩阵乘法,然后没做完,然后就没有然后了!第二题的暴力都没 ...

随机推荐

  1. php url地址栏传中文乱码解决方法集合

     php地址栏传中文$_GET下来后乱码,urlencode和urldecode,iconv,base64_encode等方法,整理基本是常用的了. php地址栏传中文$_GET下来后乱码,urlen ...

  2. 【ADO.NET】 使用通用数据库操作类Database (SQL Server)

    一.Web.config配置 <connectionStrings> <add name="constr_name" connectionString=" ...

  3. AJPFX:实现递归统计文件夹的总大小

    class Statistical {    public static void main(String[] args) {        Scanner sc = new Scanner(Syst ...

  4. java课程设计全程实录——第0天

    本次课设计划在5月25日完成.目前还剩18天. 第0天主要完成事项如下: 搭建开发环境 制定开发进度规划表 阅读前人的课设 详细: 1.IDE的下载,安装,以及配合使用的阿里巴巴编程规约插件的安装与测 ...

  5. 013、BOM对象的应用

    BOM结构图如下: DOM结构图如下: BOM和DOM BOM,Bowser Object Model浏览器对象模型.提供了访问和操作浏览器各组件的途径或方法. 比如:Navigator对象:浏览器的 ...

  6. SqlSessionFactory

    源码: public interface SqlSessionFactory { SqlSession openSession(); SqlSession openSession(boolean va ...

  7. 一个PHP开发APP接口的视频教程

    感觉php做接口方面的教程很少,无意中搜到了这个视频教程,希望能给一些人带来帮助http://www.imooc.com/learn/163

  8. H3C S5024P交换机 vlan实验

    H3C S5024P交换机第二次vlan实验 实验1 与交换机端口G0/1和G0/2相连的PC1与PC2属于VLAN 1,与G0/3和G0/4相连的PC3和PC4属于VLAN 2,PC1.PC2.PC ...

  9. SQLite-Like语句

    SQLite – LIKE子句 使用SQLite LIKE运算符 用于匹配文本.如果搜索表达式可以匹配模式表达式,如操作符将返回true,这是1.有两个通配符与Like操作符一起使用: The per ...

  10. 汇编4OPCODE

    opcode原理 前缀域 切换操作数大小前缀 : 066h 可以将32位的操作数切换成16位的操作数 B8 00010000 | MOV EAX,0x100     66:B8 0001 | MOV ...