秋名山老司机
秋名山老司机
100
http://123.206.87.240:8002/qiumingshan/
是不是老司机试试就知道。
1.正则表达式
<head>
<title>下面的表达式的值是秋名山的车速</title>
<meta charset="UTF-8">
</head>
<p>亲请在2s内计算老司机的车速是多少</p>
<div>412933943+187255539-952711260-1664029376+1755887662-1283755427-1527411330+46219053+1814543411-692396601*799192870=?;</div>
<style>
div,p{
text-align: center;
margin: 0 auto;
}
不断刷新发现关键字 value post
Give me value post about 364588036575374684+1831358910+118627318022697125854702695+1060994470+7393257491735112648746819563493792952=?
利用菜鸟工具进行检验表达式 ^<div>(.+)=\?;</div>$
2.计算value值 post提交
post 方式提交value的值
用python使用表达式进行计算,并post提交value的值
import requests
import re
import time
while 1:
s =requests.Session()
t1 = time.time()
r =s.get("http://123.206.87.240:8002/qiumingshan/")
searchObj = re.search(r'^<div>(.+)=\?;</div>$',r.text,re.M|re.S)#re.M|re.S匹配多行或匹配一行
data = {
"value":eval(searchObj.group(1))#这里是value是从网页提示中得到的
}
flag = s.post("http://123.206.87.240:8002/qiumingshan/",data=data)
t2 = time.time()
s = flag.content
result = str(s,'utf-8')
if re.search('Bugku',result):
print("消耗了",t2-t1,'秒')
print(result)
break
"""
消耗了 0.18646788597106934 秒
原来你也是老司机 Bugku{YOU_DID_IT_BY_SECOND}
"""
- re.I 忽略大小写
- re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境
- re.M 多行模式
- re.S 即为 . 并且包括换行符在内的任意字符(. 不包括换行符)
- re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库
- re.X 为了增加可读性,忽略空格和 # 后面的注释