1. 程式人生 > >bugku 秋名山老司機 以及 hackinglab 快速口算

bugku 秋名山老司機 以及 hackinglab 快速口算

秋名山老司機

100

是不是老司機試試就知道。

題目要求2s內計算一個算式並提交結果,用python寫一個指令碼如下

import re
import requests
url="http://120.24.86.145:8002/qiumingshan/"
s=requests.Session()
response=s.get(url)
reg=re.compile(r'[0-9+\-*]{3,}[0-9]')#{3,}代表匹配次數>3次,本來是用一個+的,但會匹配response中的utf-8的-8
obj=reg.findall(response.text)
data={'value':eval(obj[0])}
reps=s.post(url,data=data)
print(reps.content.decode('utf-8'))

即可在返回結果中找到flag

快速口算 分值: 350

小明要參加一個高技能比賽,要求每個人都要能夠快速口算四則運算,2秒鐘之內就能夠得到結果,但是小明就是一個小學生沒有經過特殊的培訓,那小明能否通過快速口算測驗呢?
通關地址

題目要求是一樣的,python指令碼如下:

import re
import requests
url="http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php"
s=requests.Session()
response=s.get(url)
r=response.text
regstr=re.compile(r'[0-9+*()]+[)]')
obj=regstr.findall(r)
result=eval(obj[0])
data={'v':result}
rep=s.post(url,data=data)
print(rep.content.decode('utf-8'))

在這裡記錄一個疑問,在秋名山老司機中用下面這個指令碼是不能獲得flag的

import re
import requests
url="http://120.24.86.145:8002/qiumingshan/"
headers={"Cookie":"PHPSESSID=92fp7sultl136duhl39lqn33690o4qmd"}
s=requests.Session()
response=s.get(url,headers=headers)
reg=re.compile(r'[0-9+\-*]{3,}[0-9]')
obj=reg.findall(response.text)
data={'value':eval(obj[0])}
reps=s.post(url,data=data,headers=headers)
print(reps.content.decode('utf-8'))

也就是在傳送請求的時候加了個headers引數,把我的cookie加進去.

但在快速口算中加了個headers引數,把我的cookie加進去,是可以獲得flag的

import re
import requests
url="http://lab1.xseclab.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php"
headers={"Cookie":"PHPSESSID=77d9d629775af0b56319254255388c6a"}
s=requests.Session()
response=s.get(url,headers=headers)
r=response.text
regstr=re.compile(r'[0-9+*()]+[)]')
obj=regstr.findall(r)
result=eval(obj[0])
data={'v':result}
rep=s.post(url,data=data,headers=headers)
print(rep.content.decode('utf-8'))

不知道為什麼會有這個區別