bugku之秋名山老司機
題目連接:http://123.206.87.240:8002/qiumingshan/
一點進去是這樣的
請在兩秒內計算這個式子。。。怎么可能算的出來
查看源碼,無果。。
burp抓包 無果
再次點進這個題目發現式子會變,於是多刷新幾次,出現了這個界面
需要post這個式子的值,但是這個式子我不會算啊,怎么辦?百度吧。。
百度后知道這個式子需要用python寫一個腳本,但是看了他們寫的腳本發現自己看不到,於是去刷一刷python 因為本來就不怎么熟悉 這里說下這次看了python學到的知識:
1.首先發現很煩的一件事就是python3很煩 print 后需要加("")而python2只需要print”“
2.算了直接上圖
import requests #導入requests模塊 請求模塊 這個模塊還有很多需要我學習
s = requests.Session() # 用s存session session和cookie 都用於身份識別 session本義為對話 這里我自己暫時理解為 把這次對話保存起來並取名s 相當於記錄身份
r = s.get("

searchObj = re.search(r'^<div>(.*)=\?;</div>$', r.text, re.M | re.S) #search 是掃描整個字符串並返回成功的匹配值 如果沒有匹配則返回none 正則re.search(要匹配的字符,被掃描的字符,功能選擇), 這里用這個函數實則是在提取字符,首先看要匹配的字符是這樣的 r'^<div>(.*)=\?;</div>$',這里的r我實在沒有查到是什么意思我看了好幾個有些沒有這個r,^代表開始,$代表結束,這里則表是從<div>開始到</div>結束,而中間的(.*)這里的.代表任意一個字符加一個*構成.*就多次的任意字符 然后\?是?有特殊含義需要匹配?要在前面加一個\,這里的=\?是源代碼中本來就有的,這里打括號是進行分組,第一個()就是第一組第二個()就是第二組(這是我自己的理解) ,r'^<div>(.*)=\?;</div>$'表示<div></div>中的所有字符,然后再與r.text相匹配,相當於提取,后面我會帶上圖上面有一些字符的含義與某兩個網站,還有分組。
d = {
"value": eval(searchObj.group(1)) #eval函數是計算值
}
r = s.post("

print(r.text) #輸出結果


https://blog.csdn.net/github_36362235/article/details/53302787
廢話:今天感覺沒有學到撒子東西,看了小迪的視頻搭環境本來想自己搭一個環境,但是太麻煩所以這個周周六再搭吧,今天安裝request用了很久的時間,學習那幾個正則也用了很久,希望這些知識不要忘記。明天三節課但是還是要抽出時間來學技術,4.25一定要去面試道格,雖然不一定去的到但是還是嘗試,4.27c語言考試,明天要看C語言題庫還有復習高數后天要考試,所以明天學技術的時間可能有點少。這個鍵盤老是掉鍵真的好煩。 我知道我自己現在的博客還沒人看,我以后會多多努力,總有一天我也會像檸檬師傅一樣的加油,你是最幫的!
楊藝小豬,以后你一定要及時看我的博客啊,我寫的每一篇你都要看,成為我的粉絲吧哈哈哈。