CTF--秋名山车神

一、原网页:

二、步骤:

1.尝试用计算器计算:

计算器溢出,无法正常计算

2.使用python计算:

得出计算结果为:1864710043732437134701060769

3.多次刷新页面:

发现变量为value,要用post方式给变量传参

那么value=1864710043732437134701060769

4.向URL传参

没有返回flag,且每次刷新页面,数学表达式都在变化

用python计算后,发现计算结果都不相同:

得出结论:我们必须按照提示,在2秒之内计算出结果并传参给URL才能返回flag,否则页面会重新生成新的数学表达式,而我们提交的值无效。

5.解决方案1——编写脚本

(1)脚本: 

import requests
import re

url = '''http://117.72.52.127:15092'''
s = requests.session()
response = s.get(url)

equation = re.search(r'(\d+[+\-*])+(\d+)', response.text).group()
result = eval(equation)

key = {'value': result}
flag = s.post(url, data=key)

print(flag.text)

(2)脚本运行:

(3)脚本分析:

import requests 
# 导入requsets库
# requests是一个用于发送HTTP请求的库,可以轻松地发送GET、POST等请求

import re  
# 导入re库
# re是正则表达式模块,用于在字符串中查找模式用于正则表达式匹配

url = '''http://117.72.52.127:15092''' 
# 定义目标服务器的URL,表示你要访问的地址

s = requests.session()
# 创建一个会话对象s,会话对象可以保持某些参数(如cookies)在多个请求之间共享
# 这对于需要模拟登录或保持会话的场景非常有用。

response = s.get(url)
# 使用会话对象发送GET请求到目标URL,并获取响应

equation = re.search(r'(\d+[+\-*])+(\d+)', response.text).group()
# 使用正则表达式从响应的HTML内容中搜索一个数学表达式
# 正则表达式 r'(\d+[+\-*])+(\d+)' 的含义:
# \d+:匹配一个或多个数字
# [+\-*]:匹配一个加号、减号或星号(运算符)
# 整个模式匹配一个数学表达式,例如 1+2 或 3*4
# .group():提取匹配到的完整字符串


result = eval(equation)
# 使用 eval() 函数计算匹配到的数学表达式的结果

key = {'value': result}
# 将计算结果封装到字典中,作为POST请求的数据

flag = s.post(url, data=key)
# 使用会话对象发送POST请求到目标URL,并附带计算结果作为数据

print(flag.text)
# 打印服务器返回的响应内容

这小友也写得挺好的,附上链接:

请求与响应 - Bugku-Web-秋名山车神 - 《⚔️CTF》 - 极客文档

6.解决方案2——修改Cookie值:

CTF-WEB-秋名山车神-简单方法解题 - 简书

(1)PS:

emmm,按照上面老哥的方法修改了cookie,还是刷新不出flag,不知道啥原因,而且很奇妙的是,我关了BP的intercept on,才能在原网页中不断键入ctrl+r刷新出新的页面,一开intercept on,那页面就跟老年痴呆一样,一直刷新不出新页面的内容。走过路过的帅哥美女们,知道原因的麻烦留个言噻,感激不尽!

睡了一觉醒来,还是不死心,咱接着整

对比了一下老哥的截图,发现咱们cookie多了这么一大坨东西:

老哥的截图白白净净的:

尝试把cookie修改成跟老哥一样,还是行不通:

(2)了解cookie:

【1】cookie是什么?

Cookie就像网站给你贴的「电子便签」,当你访问网站时,网站会在你的浏览器里放一个小文件(比如记录你的名字、偏好或登录状态)。下次再来时,网站就能认出你,提供个性化服务

【2】分析咱们的cookie:

Cookie:
_ga=GA1.1.718037780.1744271425;
Hm_lvt_c1b044f909411ac4213045f0478e96fc=1744271426,1744274698;
_ga_F3VRZT58SJ=GS1.1.1744274701.2.1.1744274812.0.0.0; 
PHPSESSID=v4q1e9sab2qni4oofgkslpetr6;

_ga=GA1.1.718037780.1744271425 

作用:Google Analytics(谷歌统计)的跟踪Cookie,用于统计你的访问行为(比如看了哪些页面、停留多久)
特点:以GA1.1.开头,后面的数字是随机生成的唯一ID,网站靠这个ID识别你
隐私:可能被用于跨网站追踪你的浏览习惯

Hm_lvt_c1b044f909411ac4213045f0478e96fc=1744271426,1744274698

作用:百度统计(类似谷歌统计)的Cookie,记录你访问该网站的次数和时间
特点:Hm_lvt_是百度统计的固定前缀,后面的数字可能是网站给你的唯一ID或时间戳
隐私:同样涉及行为追踪。

ga_F3VRZT58SJ=GS1.1.1744274701.2.1.1744274812.0.0.0

 作用:可能是某个具体网站(比如电商或论坛)的Google Analytics子账号,用于更细粒度的数据统计
特点:F3VRZT58SJ是随机生成的跟踪ID,网站靠它区分不同来源的流量

PHPSESSID=v4q1e9sab2qni4oofgkslpetr6

 作用:PHP会话ID,用于保持你的登录状态或临时操作(比如购物车内容)
特点:PHPSESSID是PHP语言生成的临时令牌,关闭浏览器后通常失效
安全提示:如果这个值被泄露,别人可能冒充你登录(但一般需要结合密码)

(未完待续...) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值