bugku秋名山老司機+寫博客的第一天


bugku之秋名山老司機

 

題目連接:http://123.206.87.240:8002/qiumingshan/

     一點進去是這樣的

 

 請在兩秒內計算這個式子。。。怎么可能算的出來

查看源碼,無果。。

burp抓包 無果

再次點進這個題目發現式子會變,於是多刷新幾次,出現了這個界面

 

 需要post這個式子的值,但是這個式子我不會算啊,怎么辦?百度吧。。

百度后知道這個式子需要用python寫一個腳本,但是看了他們寫的腳本發現自己看不到,於是去刷一刷python 因為本來就不怎么熟悉 這里說下這次看了python學到的知識:

1.首先發現很煩的一件事就是python3很煩  print 后需要加("")而python2只需要print”“

 

2.算了直接上圖

 

 

 import re         #  import 是導入模塊 相當於就是導入函數庫 導入模塊過后就可以用相應的模塊里的函數  這里的re模塊是正則表達式 用於匹配字符串當中的一定字符 但是說匹配這里卻用來提取字符 

import requests    #導入requests模塊 請求模塊 這個模塊還有很多需要我學習 

s = requests.Session()  # 用s存session session和cookie 都用於身份識別 session本義為對話 這里我自己暫時理解為 把這次對話保存起來並取名s 相當於記錄身份

r = s.get(" http://120.24.86.145:8002/qiumingshan/")     #用此身份請求並url

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(" http://120.24.86.145:8002/qiumingshan/", data=d)     #post傳值

print(r.text)  #輸出結果 
 

 

 

       https://blog.csdn.net/github_36362235/article/details/53302787

 

 

 

 

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

                 楊藝小豬,以后你一定要及時看我的博客啊,我寫的每一篇你都要看,成為我的粉絲吧哈哈哈。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM