CTFHUB刷题day01

Posted by 404player on March 2, 2020

题目1:请求方式

题目链接

http://challenge-a4ced8a102e552ad.sandbox.ctfhub.com:10080/index.php

题目考点

  • http请求方法
  • burpsuite抓包工具的使用

解题思路

打开网页后显示如下:

HTTP Method is GET

Use CTF**B Method, I will give you flag.

Hint: If you got 「HTTP Method Not Allowed」 Error, you should request index.php.

通过抓包观察数据包,发现该请求使用的是GET方法 GET

根据上述提示,将请求方法改成CTFHUB然后重放数据包,即可getflag

FLAG

ctfhub{4bcd785c97f91bd4f09d902f61534ff420a9a9f2}  

题目2:302

题目链接

http://challenge-bde8632bb241e873.sandbox.ctfhub.com:10080

题目考点

  • 302重定向
  • burpsuite抓包工具的使用

解题思路

页面打开后点击Give me Flag链接页面没有反应。
观察url变成了http://challenge-c3e4d94e294fa068.sandbox.ctfhub.com:10080/index.html,右键查看源代码发现 <a href="index.php">Give me Flag</a>,由题目联想到是一个302重定向的问题。

用burpsuite反手抓了个包,发现有一个index.php的数据包,重放后getflag

FLAG

ctfhub{eea215127b54cec06d2dbec01fcd6207b5623dda}

题目3:cookie

题目链接

http://challenge-4a0969dac83c93ca.sandbox.ctfhub.com:10080

题目考点

  • cookie的概念
  • burpsuite抓包工具的使用

解题思路

打开页面看到提示:
hello guest. only admin can get flag.
f12打开开发者工具审查,看到cookieadmin=0
用burpsuite抓取数据包,修改cookie数据为admin=1,就可以getflag

FLAG

ctfhub{5039027dfc4127bf5d1592139094dbcbcfb99b91}

题目4:基础认证

题目链接

http://challenge-8fd40726e07eb8a9.sandbox.ctfhub.com:10080

题目考点

  • 基础认证的概念
  • burpsuite抓包工具的使用
  • 使用burpsuite进行暴破
  • 利用python编写base64加密脚本

解题思路

先在wiki上面查了查基础认证,得知它是允许http用户代理(如:网页浏览器)在请求时,提供 用户名 和 密码 的一种方式。
打开网页,点击click后果然发现了要进行表单提交,并且有提示用户名就是admin
回到CTFHUB才发现有一个附件是需要下载的,下载下来以后发现是一个字典,接下来就好办了,这道题就是一道字典暴破的题目。
burpsuite抓取表单提交的数据包,然后右键send to Intruder,由于了解到基本认证的参数是用base64加密后传输的,所以导入字典后,还要设置加密方式。
暴破后根据数据包的长度得到对应字符串,解密后登录,即可getflag。

FLAG

ctfhub{60f4158d48e676aa54e209bf7bbf5134a22e006c}

题目5:响应包源代码

题目链接

http://challenge-1465a6e5f6953b86.sandbox.ctfhub.com:10080/

题目考点

  • 查看源代码

解题思路

打开页面是一个动画,因为题目时响应包源代码,查看一下源代码,发现在源代码注释里getflag

FLAG

ctfhub{9141662b7a6fee73ab3b16af8be2459ac42efe07}  

今天总结

总的来说,前三道题和最后一道题算是比较简单,第四道题花了我不少时间,在这里整理一下与之相关burpsuite的用法。

第一点,今天遇到的第一个问题是在Firefox打开第四道题环境并进行表单提交时,不能在提交表单的同时打开代理进行抓包(到设置那里配置代理必须要先把表单关掉)。

解决方案:先把burpsuite关掉,打开代理,返回环境后,打开burpsuite,刷新页面,然后点击burpsuite中的Forward,就能把包放行,让表单出现,这个时候提交表单,burpsuite就能顺利抓包。当然,更好的方法是使用Firefox插件配置代理,因为Forward有时候并不一定管用。

第二点,就是字典转base64的问题,刚开始写了一个脚本,我先将脚本代码贴出来

# Author:Geekboy
import base64

with open("10_million_password_list_top_100.txt", "r+") as f:
	for line in f.readlines():
		line = line.strip('\n')
		line = 'admin:'+line
		print (line)
		line1=base64.b64encode(line.encode('utf-8'))
		#print(str(line1,'utf-8'))
		f.write(str(line1,'utf-8')+'\n')

这个脚本顺利地将字典里的参数格式化成了基本认证需要的格式,但是放到burpsuite里暴破后并没有发现有正确的数据包,搞不懂问题出在哪。所以决定直接用burpsuite进行编码。在IntruderPayloads中,有一个Payload Processing选项,可以添加base64编码,添加后直接将原字典导入暴破,终于得出结果。

总的来说,水平还是不太够,还得继续刷题,学习。任重道远啊。。。