Bug-CTF-秋名山老司機(正則匹配)
阿新 • • 發佈:2018-11-27
題目:
沒有啥思路,意外地重新整理了一下頁面,發現數值變化了
再重新整理一次試試,出來一個提示,大概意思是需要提交結果,這裡也不知道該怎麼傳參,也不曉得怎麼寫這個指令碼,只能參考其他大佬的思路了
解題:
檢視其他大佬的解題思路都是大概都是寫了一個正則,然後計算結果進行get提交,由於沒有學習過正則表示式,只能現學現賣了。
參考上邊正則表示式入門手冊,為了匹配
1228303999*106591569*524002121+1208914674+1812997607+1776164354+157676730+1548542566+1550073934-1083177900
寫出來的簡單的正則表示式為(\d+[+\-/*])+\d+
下面是編寫指令碼
import requests import re url = 'http://123.206.87.240:8002/qiumingshan/' s = requests.Session() source = s.get(url)#獲取頁面物件 expression = re.search(r'(\d+[+\-/*])+\d+', source.text).group() #正則匹配想要的表示式 result = eval(expression)#計算正則匹配的內容 post = {'value': result} print(s.post(url, data = post).text)
得到flag,但是好像有些問題,不知道為什麼會出現亂碼,而且還有時得不到這個結果
檢視其他大佬寫的writeup,也不曉得,留下疑問,希望有大佬來解決一下