当前位置: 首页 > news >正文

BugKu Web渗透之秋名山车神

启动场景,打开网页。

步骤一:

右键查看源代码。

没有发现任何异常。

步骤二:

dirsearch扫描网站。

也没有任何发现。

步骤三:

不知道能干什么了。看到提示说在2秒内得出答案。于是刷新了几次。注意,时间间隔要控制在2秒内。2秒内的刷新就会显示:

Give me value post about 
433446243-97621328+1244292873-882220699-161610511+853655308*1963578423-277983026+58188845-768660845-836237313=?

如下图:

步骤四:

用 bp 或者 hacker bar,传值post数据。

首先把那一堆计算复制,打开excel表,输入=,之后粘贴那一串计算。之后会显示计算结果。(其实这样不行,因为数值过大,excel计算的结果直接四舍五入了。)将结果放入post数据中,我试过直接放入答案,也试过先写value再把答案赋值给他,但是发现不行,还是提示我“Give me value post about”。

步骤五:

对比之前两个请求的不同。发现提示“Give me value post about”,比之前普通的,在cookie中多了Timeout=alive。

于是重新添加Timeout=alive,再增加post传值。但是依然失败。

步骤六:

写python脚本,用脚本计算传值。

import re
import requests
#请求头 cookie 记得一定要加上Timeout=alive
headers = {"Cookie": "_ga=GA1.1.103100761.1748935692; _ga_F3VRZT58SJ=GS2.1.s1748939099$o2$g0$t1748939099$j60$l0$h0; Hm_lvt_c1b044f909411ac4213045f0478e96fc=1748935700; PHPSESSID=dth6dm4507tm3sodjtf8r85b30; Timeout=alive"}
#用此请求头去请求网页
res = requests.get("http://117.72.52.127:16687/",headers=headers)
#测试使用 手动复制网页上的算式 (可不写)
testdata= 255541549-314887493+928558047+609246310+2106543207-418376871+2084736110-895494989+446936679*73844046*1870148562
#res.text 为Give me value post about 1944800670*920371844-454844376+707101517*651647071-478630233*35916318*1772277915+434562273+1602162910+1179514472=?
#eval 执行里面的字符串代码 ,最后结果应该就是算式计算得出的值
dd = eval(re.search(r"Give me value post about (.*?)=\?", res.text, re.S).group(1))
d = {"value": dd
}
#再次请求,post方式,带cookie的请求头和计算结果的data
res = requests.post("http://117.72.52.127:16687/",headers=headers,data=d)
#打印出网页返回的字符串
print(res.text)

之后在终端中,输入 python  文件名.py

获取flag。

误区:

一:首先这个计算的值是很大的,我之前用excel去计算,结果他把后面的位数都直接四舍五入了。所以不能用excel去计算,还是自己写一个脚本计算比较好。

二:用脚本写时,字符串处理需要注意,最好打印出来,看看是否有处理错误,如果是一样的就没问题。

三:cookie记得处理,还要加上Timeout。post传值是对象,而不是字符串,别“value:计算结果”这样一串过去,会报错。

http://www.xdnf.cn/news/1025623.html

相关文章:

  • 高效解决Java内存泄漏问题:方法论与实践指南
  • 解决Avantage 6.0版本以上峰拟合 峰显示不全的问题
  • 2025最新版!Windows Python3 超详细安装图文教程(支持 Python3 全版本)
  • windows 电脑如何寻找 自己电脑上的 mac 地址
  • Linux cgroup 技术
  • 语法疫苗:SynCode如何为LLM生成装上“防崩溃引擎”
  • 学习笔记:Redis入门
  • 数学中 “熵“ 的奇妙世界
  • 【深入剖析】攻克 Java 并发的基石:Java 内存模型 (JMM) 原理与实践指南
  • R2S2:通过现实世界现成的技能空间释放人形机器人的潜力
  • 【考研数学:高数8】一元函数积分学的概念与性质
  • 基于Java+Swing实现餐厅点餐系统(含课程报告)
  • 【大模型推理】CTA与SM关系
  • 玩转计算机视觉——按照配置部署paddleOCR(英伟达环境与昇腾300IDUO环境)
  • Python 训练营打卡 Day 50
  • 网盘直链解析网页版
  • Java多线程:为什么wait()必须用循环而非if?
  • Python 学习路线图:从入门到精通的完整指南
  • 泰国电商系统简单纪要
  • atcoder [ABC271D] Flip and Adjust
  • 前端面经整理【2】
  • 【无标题】二维拓扑色动力学模型:数学物理基础与可行性论证
  • 窗口函数详解​
  • Jmeter调用jar包中的方法,并使用返回值当请求参数
  • 如何在Linux命令窗口中执行MySQL脚本
  • HarmonyOS 5 Cordova有哪些热门插件?
  • 【均价趋势副图指标】识别洗盘,拉升,最佳潜伏点,止盈防守跟踪操盘技术图文解说
  • 单向实时通信技术SSE
  • 【MySQL InnoDB存储引擎的「页/区/段」结构的深度解析】
  • 【Canvas与艺术】多边形扩展车轮