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

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

尝试写的第一个python脚本……之前一直只会用工具(不,有的工具也还不会用……)可以说是很神奇了

先贴上代码:

import requests
import re
url='http://120.24.86.145:8002/qiumingshan/'
r=requests.session()
requestpage = r.get(url)
ans=re.findall('<div>(.*?)=?;</div>',requestpage.text)#获取表达式
ans="".join(ans)#列表转为字符串
ans=ans[:-2]#去掉最后的=?
post=eval(ans)#计算表达式的值
data={'value':post}#构造post的data部分
flag=r.post(url,data=data)
print(flag.text)

所得知识点:

1、python的requests库    requests库详细用法

安装:(用pip)在cmd里输入 pip install requests即可;

在这道题中我们用了requests中的session()函数get()函数post()函数、下面一一说明:

session对象可以使我们跨请求保持某些参数,也可以在同一个session实例发出的所有请求之间保持cookies

——创建一个session对象可以拥有以上的作用(但并没有实例化);

 

然后get()函数,用来进行模拟发送,获得相应url站点的信息,可分为有参和无参两种情况:

无参:

如以上代码,括号内是一个url,表示获取这个url内的信息。

有参:

payload = {'key1': 'value1', 'key2': 'value2'}r = requests.get("http://pythontab.com/justTest", params=payload)

(似乎经常看到payload这个词……萌新的我表示懵逼、懵逼、一脸懵逼,后来百度了一下,意思就是关键信息,大概是为了代码可读性更高吧……)

post的情况类似;

 

2、re库

这个似乎不用额外安装了……如果有问题的话启动pip大法hiahiahia

re库的主要用途就是进行字符串匹配(看着就会有很多我记不住的各种函数嘤嘤嘤)wuling这个博客很详细

说到字符串匹配,正则表达式完全是绕不过的啊2333,在re库中,几乎所有的函数参数都有正则表达式,re库中正则表达式有两种表示方式:

①raw string类型

表示为:r'text',例如:r'[1-9]\d{5}',raw string是指不包含转义符的字符串;

如果正则表达式里含有转义字符之类的敏感字符,最好用这种方法。

②string类型

例如:'[1-9]\\d{5}';'\\d{3}-\\d{8}|\\d{4}-\\d{7}'

 

3、用到的python的其他函数

join()函数,用法:例如ex.join(str)

参数说明
ex:分隔符。可以为空(如本题)
str:要连接的元素序列、字符串、元组、字典
上面的语法即:以ex作为分隔符,将str所有的元素合并成一个新的字符串

返回值:返回一个以分隔符ex连接各个元素后生成的字符串

----------------------------------------------------------------------------------------------------我是分割线哇

对于这道题:

根据题目中的提示,要在2s内算出,emmmmm手算显然不可能,数字太大,计算器说不定也会溢出(2333)

刷新几次出现了

可以用脚本跑一下……

(毕竟人跑不过机器还是可以的嘛


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

相关文章

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;完美的…

web网页开发-前端

web网页开发-前端 refer web开发 https://developer.mozilla.org/en-US/docs/Learn 本文是入门性质文章&#xff0c;主要通过讲解html&#xff0c;css&#xff0c;js的基础知识对前端有一个入门级别的了解。 工具准备 git&#xff0c;使用gitee或者github进行代码托管 https://…

后端都需要学习什么?

目录 理解前、后端后端要干些啥呢小结汇总一下~ 理解前、后端 在一家软件公司里面&#xff0c;我们经常把开发人员分为前端开发人员&#xff0c;后端开发人员&#xff0c;那么我们怎么界定前端开发和后端开发呢。简单地说就是用户在屏幕上看到的和触摸到的体验&#xff0c;都是…

Web后端开发入门(2)

搭建JavaWeb应用开发环境--Tomcat服务器 下载与安装 首先&#xff0c;搜索Tomcat&#xff0c;找到如图网址 点击&#xff0c;进入Tomcat官网 在最左边一栏&#xff0c;有个Download&#xff0c;找到最新版Tomcat 9 &#xff0c;点击 下拉&#xff0c;找到如上图所示位置&#…

Web后端学习

web后端 一.cs/bs架构 CS/BS模式/客户端与浏览器模式 cs 需要安装客户端&#xff0c;客户端向服务器请求&#xff0c;服务器响应数据返回。 bs 浏览器即可访问通过http协议 3.web资源 静态资源&#xff1a;人们浏览到的网页是一样的 动态资源&#xff1a;不同人、时间…

后端开发基础——Web应用基础

目录 一. 动态网站开发基础 1.1.C/S 与 B/S 1.2.Web开发的请求响应模式 1.3.HTTP协议 1.4.URL简介 1.5.Web服务器简介 二. javaEE简介 2.1.Tomcat服务器 2.1.1.安装Tomcat服务器 2.1.2.Tomcat目录结构 2.1.3.Tomcat配置 2.3.javaEE标准目录结构 2.4.Hello World程…