[bugku]-秋名山车神详解

article/2025/9/28 4:52:57

解题

每一次刷新都不一样

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gHXJL89k-1648368286554)(https://note.youdao.com/yws/res/10244/WEBRESOURCEc4d28714992a40c6bf05f07283bb8672)]

post传参value

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kZnyybXD-1648368286555)(https://note.youdao.com/yws/res/10255/WEBRESOURCE0e76a21232136f164e93fb8d26474e77)]

脚本1

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Rauo2fW9-1648368286555)(https://note.youdao.com/yws/res/10267/WEBRESOURCE3073d6c70e91f0d88fbdc970a59f86ad)]

import requests
import re
url = 'http://114.67.175.224:10053/'
s = requests.Session()
source = s.get(url)
expression = re.search(r'(\d+[+\-*])+(\d+)', source.text).group()
result = eval(expression)
post = {'value': result}
print(s.post(url, data = post).text)# session表示复用与目标的链接,可以多次以一个cookie与服务器通信
# group()返回字符串
# eval() 执行内容

re.search中正则表达式

正则表达式30分钟入门教程

  1. 字符转义
r''表示内容为原生字符串,防止被转义。要用反斜杠转义。
  1. 一个复杂的表达式:(?0\d{2}[) -]?\d{8}。
这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。
分析:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)或-或空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})。
  1. (\d+[+-*])+(\d+)
首先匹配一个或连续多个数字    \d+
然后是一个 +或-(这里用了转义)或*    [+\-*]
接着匹配多个首先和然后的内容    (\d+[+\-*])+
之后再匹配一个或多个数字     (\d+)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kHvK4NTO-1648368286556)(https://note.youdao.com/yws/res/10330/WEBRESOURCE96527c43abc69d8cea11fa4df5949ad3)]

脚本2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XDTb9pZx-1648368286556)(https://note.youdao.com/yws/res/10267/WEBRESOURCE3073d6c70e91f0d88fbdc970a59f86ad)]

import requests                           
import re                                 request = requests.Session()              
url = "http://114.67.175.224:10053/"      
response = request.get(url)               
n = re.findall("<div>(.*?)=", response.text)[0] 
num = eval(n)                             
data = {"value": num}                     
response1 = request.post(url, data=data)  
f = re.findall('flag{(.*?)}', response1.text)
flag = "flag{" + f[0] +"}"                   
print(flag)                               

re.findall中正则表达式(.*?)

Python 正则表达re模块之findall()详解

  1. 符号 . 就是匹配除 \n (换行符)以外的任意一个字符
str = 'aabbabaabbaa'
print(re.findall(r'a.b',str))
#['aab', 'aab']
  1. 符号 * 前面的字符出现0次或以上
str = 'aabbabaabbaa'
print(re.findall(r'a*b',str))
#['aab', 'b', 'ab', 'aab', 'b']
  1. 符号 .* 贪婪,匹配从.*前面字符为开始到.*后面字符为结束的所有内容
str = 'aabbabaabbaa'
print(re.findall(r'a.*b',str))
#['aabbabaabb']

4.符号.*? 非贪婪,遇到开始和结束就进行截取,因此截取多次符合的结果,中间没有字符也会被截取

str = 'aabbabaabbaa'
print(re.findall(r'a.*?b',str))
#['aab', 'ab', 'aab']

5.符号(.*?) 非贪婪,与上面一样,只是与上面的相比多了一个括号,只保留括号的内容

str = 'aabbabaabbaa'
print(re.findall(r'a(.*?)b',str))
#['a', '', 'a']

http://chatgpt.dhexx.cn/article/FYr1FJkx.shtml

相关文章

Bugku_Web18_秋名山车神

1.查看源码 <head> <title>下面的表达式的值是秋名山的车速</title> <meta charset"UTF-8"> </head> <p>亲请在2s内计算老司机的车速是多少</p> <div>373719747-1878154638-1233431774-1476346255*1056350133121800…

bugku 秋名山车神

get新知识&#xff1a;一些有关python爬虫的基本知识 解题部分 题目中都是这样的大数字进行计算&#xff0c;并且需要短时间内计算&#xff0c;所以这不得不使用脚本进行解题&#xff0c;脚本如下 #bugku 秋名山车神 --爬虫练习 import requests import re ​ srequests.Sess…

web——秋名山老司机(100)——Bugku

000 靶场链接 http://123.206.87.240:8002/web16/ 001 题目描述 002 解题过程 一看大数运算就觉得要用python&#xff0c;然后就只能找wp看看 多刷新几次会有提示出来 一个value post 创建步骤 先建立文本文档&#xff0c;后缀改为.py&#xff0c;然后右键使用IDE打开 代…

求秋名山老司机车速

http://120.24.86.145:8002/qiumingshan/ 两秒内算出秋名山车神的车速。感觉很吊的。 刚开始知道的大概的知道就是算出答案&#xff0c;但是怎么提交&#xff0c;后来多刷新几次发现。 给我post value。好吧&#xff0c;翻译也翻译的很蛋疼。反正就是需要value这个作为提交的参…

秋名山老司机从上车到翻车的悲痛经历,带你深刻了解什么是 Spark on Hive!| 原力计划...

作者 | Alice菌 责编 | 夕颜 出品 | CSDN博客 本篇博客将为大家分享的内容是如何实现Spark on Hive&#xff0c;即让Hive只作为存储角色&#xff0c;Spark负责sql解析优化&#xff0c;执行…话不多说&#xff0c;直接上车&#xff01; 上车前需知 Spark on hive 与 hive on spa…

秋名山老司机 (Bugku) re库和request库

尝试写的第一个python脚本……之前一直只会用工具&#xff08;不&#xff0c;有的工具也还不会用……&#xff09;可以说是很神奇了 先贴上代码&#xff1a; import requests import re urlhttp://120.24.86.145:8002/qiumingshan/ rrequests.session() requestpage r.get(u…

bagku秋名山老司机

看题目,要求两秒内计算数值,发回去,获得flag,于是写脚本实现 import requests import reurl "http://120.24.86.145:8002/qiumingshan/" s requests.Session()#必须利用会话对象 Session()&#xff0c;否则提交结果的时候&#xff0c;页面又重新生成一个新的表达式…

秋名山老司机(详解)——bugku

刚刚做了bugku的题目&#xff0c;现在整理一下 写出解题思路&#xff0c;希望能够帮助到那些需要帮助的人 所有的wp都是以一题一篇的形式写出 主要是为了能够让读者更好的阅读以及查找&#xff0c; 希望你们不要责怪&#xff01;&#xff01;共勉&#xff01;&#xff01;&…

Bugku之秋名山老司机

秋名山老司机需要在2s内计算出来并提交&#xff0c;这个通过人工是不可能的&#xff0c;所以只能通过自己写脚本来计算并立即提交。 脚本如下也带有注释&#xff1a; import re import requestss requests.Session() r s.get("http://120.24.86.145:8002/qiumingshan…

bugKuctf-秋名山老司机

http://123.206.87.240:8002/qiumingshan/ 刷新几次发现需要把值post进去。 于是编辑脚本&#xff1a; encodingutf8 import re import requests s requests.Session() url ‘http://123.206.87.240:8002/qiumingshan/’ source s.get(url)#获取页面对象 expression re…

BugkuCTF: 秋名山老司机(web)

题目描述&#xff1a; 亲请在2s内计算老司机的车速是多少 1565348110-15858523191424136689-501596850-364488737*872756914-663618483-1120007195*1119001272-1463806595*1200528853?; 在两秒内刷新页面后会出现提示让提交计算出来的值&#xff0c;且url没有变化&#xff…

Bugku-Web-秋名山老司机

考察内容&#xff1a;http协议&#xff0c;Session会话控制 解题思路&#xff1a; 进入题目发现要你在2s内计算老司机的车速是多少 &#xff0c;查看源码也没发现什么 于是多刷新几下&#xff0c;发现每次的计算的算式都不一样&#xff0c;于是又刷新了几下&#xff0c;果然出…

bugku-秋名山老司机

秋名山老司机&#xff1a; 打开链接&#xff0c;让我们在2秒之内计算出一个很复杂的式子的值传进去 刷新式子一直在变化&#xff0c;不过出来一个提示让我们以post方式传入计算的值&#xff0c;变量名字为value&#xff0c;如果你真的拿计算机去计算传值&#xff0c;嘿嘿嘿! …

秋名山老司机

题目链接&#xff1a;http://120.24.86.145:8002/qiumingshan/ 貌似是新题&#xff0c;网上没找到wp&#xff0c;自己写一份(第一次写writeup) 首先进入会显示如下页面&#xff1a; emmmm&#xff0c;再次刷新会变成这样&#xff1a; 隔一段时间再刷新会变成新的表达式。 先…

Bugku - 秋名山老司机

emm鬼算得出来。。。 import re import requestss requests.Session() r s.get("http://120.24.86.145:8002/qiumingshan/") searchObj re.search(r^<div>(.*)\?;</div>$, r.text, re.M | re.S) d {"value": eval(searchObj.group(1)) } …

秋名山老司机从上车到翻车的悲痛经历,带你深刻了解什么是Spark on Hive!

本篇博客&#xff0c;博主为大家分享的内容是如何实现Spark on Hive,即让Hive只作为存储角色&#xff0c;Spark负责sql解析优化&#xff0c;执行…话不多说&#xff0c;直接上车&#xff01; 文章目录 上车前需知Spark on hive 与 hive on spark 的区别1. Spark on h…

CTFWeb——Bugku秋名山老司机 详细题解

题目&#xff1a;Bugku 秋名山老司机 解答: 刷新提示让我们以post方式传入计算的值。 此题是快速反弹Post请求类题目&#xff0c;因为所给时间很短而且计算比较复杂&#xff0c;所以只能写脚本。 python中有eval函数可以快速计算,满足要求。 这道题的脚本如下&#xff1a; #…

BugkuCTF_Web——“秋名山老司机”、“速度要快”、“cookies欺骗”

文章目录 一、“秋名山老司机”二、“速度要快”三、“cookies欺骗”完 一、“秋名山老司机” 开启环境&#xff0c;提示要在两秒钟计算结果 多次刷新发现每次的值不一样&#xff0c;并且知道了答案要通过赋值给value然后post上去 想到可以通过获取网页源代码使用eval()执行算…

Java Web 后端技术

Java Web后端技术(一) 学习Java及其相关技术到现在也是第一次写博客&#xff0c;可能理解不是很深&#xff0c;但也是自己学的一个小的总结&#xff0c;也希望各位大神不吝赐教。 1.Tomcat服务器 1.1Java Web 在讨论Tomcat之前先说明一下Java Web。Java Web是用Java技术来解…

Web后端的基础知识

文章目录 JavaWeb后端计算机网络基础认识Tomcat服务器使用Maven创建Web项目Servlet创建Servlet探究Servlet的生命周期解读和使用HttpServletWebServlet注解详解使用POST请求完成登陆上传和下载文件使用XHR请求数据重定向与请求转发了解ServletContext对象初始化参数 CookieSess…