天天看點

Bug-CTF-秋名山老司機(正則比對)

題目:

Bug-CTF-秋名山老司機(正則比對)

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

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)
           
Bug-CTF-秋名山老司機(正則比對)

得到flag,但是好像有些問題,不知道為什麼會出現亂碼,而且還有時得不到這個結果

檢視其他大佬寫的writeup,也不曉得,留下疑問,希望有大佬來解決一下