1. 程式人生 > >CTF 快速口算

CTF 快速口算

網路安全實驗室http://hackinglab.cn 指令碼關的第二題,頁面上給出一串算術式要2秒內提交答案,隨便提交一個答案上去抓包可以發現最後提交的上去的資料是v=xxxxx,於是寫個python指令碼找到算術式後計算,把答案提交即可(說起來簡單,我看著大佬寫好程式碼都糾結了一上午)

import re #正則模組
import requests

s = requests.Session()  
url = 'http://1.hacklist.sinaapp.com/xss2_0d557e6d2a4ac08b749b61473a075be1/index.php'
r = s.get(url)
r.encoding = 'utf-8'
#修改編碼 print(r.text) num = re.findall(re.compile(r'<br/>\s+(.*?)='), r.text)[0] #正則表示式找到算術式 print ('result:\n\n%s=%d\n' % (num, eval(num))) #輸出算術式計算結果 r = s.post(url, data={'v': eval(num)}) #將結果提交 抓包可看出要用v提交 print (r.text) #輸出返回結果

需要用到requests.Session(),以保證提交上去的結果與接收到的頁面算術式對應。