【CTF bugku 秋名山车神】关于会话脚本、session、正则表达式

本文介绍了CTF比赛中的一个挑战,涉及会话脚本和session的使用。通过多次刷新页面,发现了一个名为'value'的参数。解题关键在于运用正则表达式进行匹配和计算,避免长数字导致的溢出问题。使用re.search()函数,配合正则模式(d+[+-*])+(d+)进行匹配,并通过group()获取结果。由于可能存在计算误差,需要多次运行脚本以获取flag。
摘要由CSDN通过智能技术生成

题目描述

题目链接

多刷新几遍,发现一个传参变量value,下边开始解题

解题思路

本题考验脚本能力,手动提交?哼,不存在的
题目多次刷新,出现要提交的参数:value
在这里插入图片描述
这么长的数字计算器算都可能溢出,所以上脚本,本题采用正则表达式

import requests
import re

url='''http://114.67.175.224:18471'''

#創建一個session,帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies
session1=requests.session()

#获取返回数据包信息
response_get=session1.get(url)

#匹配1232131231-123123123-12312321算数表达式
result=re.search(r'(\d+[+\-*])+(\d+)',response_get.text)
#print(result)

#获得算数表达式匹配结果
expressions=result.group()
#eval()--执行()代码
myvalue=eval(expressions)

#创建一个字典
key = {'value':myvalue}
#用post方法传上去
flag=session1.post(url,data=key)
print(flag.text)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值