cgctf-Web题write up

本人纯小白,去CGCTF虐自己,啥工具也不会,甚至连别人的write up都看不懂,一题百度一万次,磕磕碰碰终于做出了几道题,再回过来看看,发现自己好多题又不会做了。所以还是自己写write up,一来增强记忆,二来回顾一下收获成就感,三来给别的小白很简明的解题思路,最起码不至于看不懂。 以下都是做过之后回过头来的反思(画外音:也就是刚开始都不会做的题)

本人用的是360浏览器。 

第一题:签到题

打开网页链接,右键查看源代码(或者直接Ctrl+U)

得到下图 

发现代码中有nctf{flag_admiaanaaaaaaaaaaa},get it! 


第二题:md5 collision

点开题目发现有这么一段代码: 

此处搬砖:https://www.cnblogs.com/Mrsm1th/p/6745532.html

大致的意思就是需要你提供一个a的值,让a不等于 ’QNKCDZO’ 并且a的md5编码和 ’QNKCDZO’ 必须一样

而根据下表整理的

QNKCDZO0

e830400451993494058024219903391 

s878926199a

0e545993274517709034328855841020  

s155964671a

0e342768416822451524974117254469  

s214587387a

0e848240448830537924465865611904  

s214587387a

0e848240448830537924465865611904  

s878926199a

0e545993274517709034328855841020  

s1091221200a

0e940624217856561557816327384675  

s1885207154a

0e509367213418206700842008763514 

随便选一个作为a的值就可以了。而题目的网址显然是php脚本,根据php语言,在网址后面添加 ?a=*** 就是输入a的值 

我这里写的是

直接得到flag,get it!  


第三题:签到题2

打开题目链接,查看源代码 

此处需要对html语言有一定了解,我们看到在input的属性设置里有对maxlength即最长输入长度的限制,而根据他让我们输入的zhimakaimen字符串长度为11,所以如果单纯输入zhimakaimen然后提交,实质上你只输入了zhimakaime,n被忽略了,所以解决方法是修改参数。 

按F12打开控制台,找到maxlength,双击,修改为11(或者你也可以设置成更长的),然后再在方框内输入zhimakaimen,submit  

Get it! 


第四题:这题不是WEB

打开题目链接,发现是这么个玩意儿 

尝试查看源代码 

发现了2.gif 这个文件,好奇心告诉我这玩意儿肯定不对,因为别的地方没有提示了。

好,回到原网页,右击图片另存到桌面,然后打开他,发现还是一张动图……

好像剧情不对,盯着这个2.gif看了半天,怎么让他告诉我flag是啥呢?

我灵机一动,把它拖到了notepad++里,然后就出来这样子的东西 

这满屏的乱码我也看不懂啊,然后我就往下翻翻到最底下,刚要关掉,发现最后好像有串不是乱码…… 


Get it! 


第五题:层层递进

看这题目的名字就感觉满满的提示,二话不说打开题目链接,发现一个类似于搜索引擎的界面,常规操作查看源码,搜查一番后没有发现什么特殊的信息,除了 


最后的两个链接,判断一下第二个链接应该是这个盗版网页的正版,点开来看一下也是,那么猫腻应该在第一个链接里。

点开来,发现和之前的网页差不多,此时想到题目名为“层层递进”,那么道理应该是一样的,不出所料最后出现了一个404.htm,而且打开发现 


这么长一段文字,那么这应该是我们的最终目标,再查看源码 


看到整整齐齐的格式设置,然后竖着看,找到了flag,get it!

但是呢,还有一个更简单的方法,利用抓包工具Burp Suite对题目链接爬虫。

我自己是学了两个抓包工具,一个是Burp Suite,一个是fiddler,都有各自的优势。前者有爬虫功能,适用于这题。

对于ctf的工具,可以百度ctftools,你会有惊喜!

关于Burp Suite的专业破解版,搬砖于此处https://blog.csdn.net/qq_37706414/article/details/78702411

需要注意的是下载的是.jar文件,必须配套Java的环境,这个网上直接下载,开源的。

打开Burp Suite.jar然后一路默认点下去,先配置环境 


如图,这是代理服务器设置,我们点下面的Import/export CA certificate    

出现了这么个框,然后点选第一个,Next

如图,名字随便取,但是后缀名要写成.crt,这是证书格式

然后回到桌面,会看到这个文件,打开360浏览器,选项——高级设置——HTTPS/SSL——管理证书——受信任的根证书颁发机构——导入——选择你刚才导出的证书——一路默认到如下图,导入成功后可以看到该目录下多了一个名为“PortSwigger CA”的证书,然后就可以用Burp Suite抓包了。

下一步,依然是选项——高级设置——网络——代理服务器设置——在代理服务器列表中加入“127.0.0.1:8080”,这是burpsuite默认的代理服务器,端口为8080

回到burp suite,proxy——options,在刚才导入证书的地方的下面,有这么一个选择框,把前面的都点上,否则你可以试一下,每次你尝试打开网页,burp suite都会拦截申请,然后等你手动Forward释放掉(如果你前面的intercept is on的话),当然你也可以不点,把intercept关掉就没有麻烦。

最后,设置360代理服务器,在右上角有个三杠的标记,点开菜单,找到代理服务器选项,然后勾选127.0.0.1:8080

到这里基本上burp suite就已经设置好了,我们回到题目,打开题目链接,然后到burp suite中查看Target目录下的Sitemap,发现了我们的题目网址,左栏为服务器名,右栏为服务器反应的网站

下一步,右键右栏的网址,选择Spider from here,默认两个yes,然后我们看到左上角的变化

表示spider正在运行,也就是爬虫

下一步,我们展开服务器目录

越往上是越内层的链接,我们直接看404.htm,右击Send to repeater,repeater就是中继器,也称为转发器,用来完成发送请求和接受响应

同样可以看到上方菜单的反应,然后我们点进repeater查看

当你没有发送请求的时候是这样的

当你点“GO”之后,就能看到右边的Response的变化

到这儿就很显然了。


第六题:AAencode

毫无头绪,去找别人的write up,知道了怎么做

复制网页的文本,然后按F12打开控制台,在console里粘贴文本,然后回车 

弹窗里就有flag,get it!

(虽然不明所以,而且没有同类型的题目作参考,但是可以参考学习一下Unicode,附一个链接https://www.jianshu.com/p/201aa3458a97)  


第七题:单身二十年

把能点的链接都点一遍,能看的源码都看一遍,没有有效的信息,然后考虑抓包

这题我倾向于用fiddler,因为fiddler的界面我觉得非常友好,很简单,学起来也很简单,需要注意的是fiddler内置了协议,所以不用专门去设置,官网上下了安装包,一路默认就行。

打开360浏览器,然后设置代理服务器为IE代理(如果不设置的话是抓不到包的,貌似fiddler用的就是IE代理端口)

然后打开fiddler,重新打开题目链接,可以看到fiddler的变化

左栏是网站,右栏是操作,我大致介绍一下右栏

Inspectors是常用的,就是监管者,显示这个网页的一些信息,上半部分是请求端,下半部分是响应端

我们查看raw参数,并没有发现什么

然后回到题目链接,点唯一的一个链接

我们再回到fiddler,发现多了两个包

我们看search_key.php,然后随便看看参数,当我们点到Response——Raw的时候,看到如下

注意到那行淡黄色的提示,表示响应端被加密了,点击提示,自动解码,一眼就看到了flag

Get it!


第八题:php decode

题目给出了一段代码

先读一下,大致确定就是一个解码的函数,如果要输出结果,应该是echo,而不是eval

改一下,然后放到菜鸟工具之在线php编辑器里运行一下,结果就出来了

Get it!


第九题:文件包含

此处搬砖:https://www.jianshu.com/p/d0de87ac4ae7

然后操作就是在题目链接后面加上?file=php://filter/read=convert.base64-encode/resource=index.php

如图

然后出来一长串的字符,按照base64解密,此时可以利用fiddler自带的解码器

如图,Text Wizard就是fiddler自带的解码器,点开,然后刚才复制的字符串自动粘贴

一眼就看到了flag,get it!


第十题:单身一百年也没用

这题有两种方法,首先看到题目,想到前面有道题名字差不多,那么考察的东西也应该差不多

第一种,fiddler。获取到名为“······/web9/index.php”的包后,我们看一下原始参数,并没有发现什么有用的信息,那么尝试一下向服务器发出请求。此时,我们需要用到composer板块

属性改为POST,表示发出请求,地址改成抓取到的包的地址,下面申请主体随便写,因为这只是尝试,然后点右上角的execute

看到右方历史纪录里出现了一条新的记录,并且在左端网站栏看到如下

新的数据包,很相似

我们点开新的“······web9/index.php”,再查看参数,会发现在响应端Raw参数里出现了flag,get it!

第二种方法呢,是BurpSuite。抓到包后,我们右键同样的网址,选择Send to Repeater

然后Go以下,发现响应端直接就出来了

相较而言,这题用Burp Suite更为方便。


第十一题:Download~!

题目炸了


第十二题:COOKIE

这题在cookie上动了手脚,在抓包之后,还是送到repeater,注意到

这里Login参数被设为了0,一般来说就是False的意思,那么我们改一下,改成1,然后Go

如果用fiddler也是可以做到的,拦截后右击网站——Replay——Reissue and Edit,然后看到界面变成这个样子了

然后双击Cookie,出来一个小弹窗

修改Login的值为1,然后点Save,再点下面绿色的Run to Completion

类似的,查看Raw参数,自动解码,出现了flag

Get it!


第十三题:MYSQL

点开题目链接后发现两行文字

第二行链接点过去发现是真的百度百科,那么问题应该在第一行,提示了名为“robots.txt”的文件,猜测服务器中有这么个文件,访问一下(这个居然是我自己看出来的0.0),果然有这个文件

读一下这段php代码,注意到TIP提示这段代码应该是名为“sql.php”的脚本代码,功能应该是让你输入一个id,在intval函数处理后值为1024,查表,发现intval函数是取整函数,前提条件是变量应为小数,也就是说id=1024.xxx都可以

Get it!


第十四题:GBK Injection

不会,也看不懂,sqlmap对这题无效,等我学会了再回来写


第十五题:/x00

题目链接给出了一段代码

读下来的意思是让你输入一个nctf,满足条件是必须是数字,而且nctf里必须有字符串“#biubiubiu”,有没有感到很奇怪?

此时要知道ereg函数存在截断漏洞,可以利用正则表达式“%00”隐去想要隐去的内容

具体操作为在链接后加上“······?nctf=123%00%23biubiubiu”,其中%23是“#”的url编码

还有一种方法是数组绕过,“······?nctf[]=#biubiubiu”,虽然我也不知道为啥可以,而且我一开始也是这么做的,然后莫名其妙过了。。。


第十六题:bypass again

一看题目给的代码

这不还是php弱类型嘛,就加上“······?a=s878926199a&b=QNKCDZO”就过了(童叟无欺,自己做出来的)

然后还有一个方法是数组绕过,“······?a[]=1&b[]=2”只要两个数字不一样就行,虽然我还是不知道为什么,而且我并没有想到能这么做,这是某大佬给出的解法

我回来啦!并且知道了为什么可以数组绕过:md5()函数无法处理数组,如果传入的为数组,会返回NULL,所以两个数组经过加密后得到的都是NULL,也就是相等的。


第十七题:变量覆盖

点开题目链接,先乱点一通大致搜索一下,发现有一个名为“source.php”的文件,打开看到有这么一段php代码

读一下,意思应该是以POST模式获取数据,只要传过去两个变量pass和thepassword_123的值就行

用fiddler做如下

注意第三行代码

此处搬砖:https://www.cnblogs.com/xiaoxi-3-/p/7612254.html

还有一种方法是用火狐浏览器自带的hactbar插件,但是因为我用的是360,没有相似的插件,我就不演示了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容