1. 程式人生 > >Bug-CTF-秋名山老司機(正則匹配)

Bug-CTF-秋名山老司機(正則匹配)

題目:

沒有啥思路,意外地重新整理了一下頁面,發現數值變化了

再重新整理一次試試,出來一個提示,大概意思是需要提交結果,這裡也不知道該怎麼傳參,也不曉得怎麼寫這個指令碼,只能參考其他大佬的思路了

解題:

       檢視其他大佬的解題思路都是大概都是寫了一個正則,然後計算結果進行get提交,由於沒有學習過正則表示式,只能現學現賣了。

http://deerchao.net/tutorials/regex/regex.htm

參考上邊正則表示式入門手冊,為了匹配

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,也不曉得,留下疑問,希望有大佬來解決一下