bugku 秋名山老司機 以及 hackinglab 快速口算
阿新 • • 發佈:2019-01-25
秋名山老司機
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'))
不知道為什麼會有這個區別