Bugku_Web18_秋名山车神

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

1.查看源码


<head>
<title>下面的表达式的值是秋名山的车速</title>
<meta charset="UTF-8">
</head>
<p>亲请在2s内计算老司机的车速是多少</p>
<div>373719747-1878154638-1233431774-1476346255*1056350133+1218001988+1332727283*746947109*406838675*343521773+1142418537=?;</div>
<style>
div,p{
text-align: center;
margin: 0 auto;
}
</style>

查看源代码可以知道这里,我们如果自己把数字复制到代码里面算,然后再用工具post,肯定不可能两秒内完成,除非手速无敌。所以我们这里需要使用脚本,获取post后的结果。
这里我直接附上脚本代码

import requests
from lxml import etree
s=requests.Session()  
url='http://114.67.246.176:15457'
response = s.get(url).text 
x=etree.HTML(response)
path=x.xpath('//div/text()')
z="".join(path[0])[:-3]
z=eval(z)
data={'value':z
}
flag=s.post(url,data).text
print(flag)

下面再来对原理的分析。

2.Requests库和lxml库的一些知识

(1). Requests库

1.requests.get(url)方法。
2.requests.post(url,构造的参数值)。
3.参数值构造的格式:data{‘要传参的变量名’:参数值}4.这里只列举的大概,想了解的更详细可以查看我学习时的博客:https://blog.csdn.net/baidu_41871794/article/details/83904024

这里我们需要使用Requests库中的get方法获取div标签中的内容,但是我们通过requests.get(url).text只能获取所有的源代码信息,不能单独取出div标签的内容,如果你足够耐心,也可以通过数组方式一个一个读出来,因为text是一个字符串,所以你可以耐心的一个一个数的方式,或者通过字符串匹配的方式,将div标签中的内容拿出来,但是那会非常的麻烦,有没有更简单的方法呢,这里就需要用到lxml库中的etree类。

(2).etree类

想看详细的去这个网址看看https://www.cnblogs.com/fightccc/p/10808590.html

这里直接上代码解释

import requests
from lxml import etree
r=requests.get("http://www.baidu.com")
html = etree.HTML(r.text)  # 调用HTML类进行初始化resultAll = html.xpath('//*')    #选取所有节点
#print("获取所有节点:",resultAll)
resultDivAll = html.xpath('//div')    #选取div子孙节点
#print("获取div所有节点:",resultDivAll)
resultDiv_img = html.xpath('//div/img')    #选取div下img节点
#print("获取div节点下img节点:",resultDiv_img)
resultDiv_imgSrc = html.xpath('//div/img/@src')    #获取div_img的src属性值
print("获取div节点下img的src值:",resultDiv_imgSrc)

使用这种方法就可以获取div标签的内容。
但是注意这里获得的值是一个对象数组,
如果直接输出结果,会发现是一些地址,
在这里插入图片描述
所以需要这样构造’//div/text()’
我的理解是在这个对象里面调用text()方法。
通过上面的了解。
我们就可以得到div标签里的内容了。
现在我们要做的就是计算我们得到的字符串的式子的结果。
首先我们需要先对得到的字符串进行进一步的处理
z="".join(path[0])[:-3]
这里还有另一种写法
z="".join(path[0][:-3])
path[0]也可以写成path,再这里是一样的,因为我们这里数组就一个元素。
这两种写法是一样的。
原因是path变量是我们通过利用etree获得的字符串数组,他保存了标签下的所有节点。
处理后我们就可以调用eval()方法来执行z的内容。
就可以得出式子结果,
最后再利用Requests.post()方法,就可以得到返回结果的网页,然后再用方法中的text变量,将页面的源码放出来,就可以看到flag。
这题可能是由于服务器问题,需要跑多几次,有些时候,返回的页面是空的,有些时候你就可以看到flag。


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

相关文章

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…

一分钟整明白web前端和Java后端的就业前景

前端&#xff1a;前端即网站前台部分&#xff0c;运行在PC端&#xff0c;移动端等浏览器上展现给用户浏览的网页。随着互联网技术的发展&#xff0c;HTML5&#xff0c;CSS3&#xff0c;前端框架的应用&#xff0c;跨平台响应式网页设计能够适应各种屏幕分辨率&#xff0c;完美的…