小白最近想學習一下python但是一直看文件也不是個辦法,於是決定去做一下題來快速地提公升一下自己:
需要模組:requests
第一步:在windows上安裝requests模組。首先cmd進入python資料夾,在cd進入scripts資料夾,然後再輸入 pip install requests//等待安裝完成,之後就可以用這個模組了
在寫指令碼之前我們先要知道如何傳送請求到伺服器,然後收到進行解析的
檢視響應頭:test.headers//
檢視響應頭的某一屬性:test.headers[『status』]等等。。。。。
檢視伺服器返回內容:test.text
傳遞get引數:
這個跟get型的是差不多的只不過最後一句的test.requests.get(『
改為了test.requests.get(『
僅僅是將params改為了data!!!
傳遞cookie:
一樣。。。。
只是將data變為了cookies!!!
保持session()的傳遞
建立session:
test.requests.session()
接下來以一些例項為例:
首先是實驗吧中的天下武功唯快不破:
首先我們開啟**,然後發現
於是判定可能需要寫指令碼讓傳送到服務端(post傳送key)。。
burp抓包發現
果然啊。。。。還是需要寫指令碼啊,其實這題較簡單我們只需要知道一些簡單的知識就可以做了:
import requests#新增一下requests模組
import base64#新增base64模組
test=requests.get('')#傳送乙個get請求
print(test.headers)#檢視一下響應頭
mikasa=test.headers['flag']#獲得響應頭里的flag端
print(mikasa)#列印看一下!!!
mikasa=base64.b64decode(mikasa)#因為是base64編碼,所以需要解碼
print(mikasa)#列印一下解碼後的flag值
ko=mikasa.split(':')[1]#以':'分割,然後
print(ko)#列印一下切割後的flag值
hu=#設定字典,待以後以post形式傳送至服務端
boss=requests.post('',data=hu)#傳送乙個post請求
print(boss.text)#列印返回的內容就可以看到flag了qaq
多試試就自然就通了233333,加油啊
bugku中的秋名山老司機:
題目簡單明瞭。。。。就是讓我們計算的。。。。
怎麼說呢。。這題的思路比較簡單,,,但是如何構造就需要引入一些模組了re(正則模組)
還有eval()–>將字串當成**執行
下面貼下網上的**(自己不會做233):
import requests#請求模組
import re#正則模組
url = ''#將要訪問的url
s = requests.session()#這一題必須要設定session(),不然可能會失敗
source = s.get(url)#傳送請求
print(source.text)#列印響應體的內容
expression = re.search(r'(\d+[+\-*])+(\d+)', source.text).group()#利用正則將我們需要的表示式提取出來
print(expression)#列印一下我們提取的表示式
result = eval(expression)#利用eval()來執行我們的表示式
post = #將結果做成字典
print(s.post(url, data = post).text)#以post方式傳送我們包含獲取到的value的值,在將響應的內容列印出來
總結:最近想學python(感覺挺香的),想鍛鍊一下寫指令碼的能力,目前只能寫出一些非常簡單的指令碼,希望接下來的幾個星期能夠好好的將pyhon掌握 CTF中pwn的入門指南
ctf中的pwn指的是通過通過程式本身的漏洞,編寫利用指令碼破解程式拿到主機的許可權,這就需要對程式進行分析,了解作業系統的特性和相關漏洞,是是乙個難度比較大的分支。接下來介紹相關的學習思路 自己總結的,當作參考 pwn相對於web,更需要專業的技能和知識,最主要的是要學會如何分析程式,這就需要有足...
CTF比賽中關於zip的總結
參考 這種方法大概是zip中最常見的,多用於在一張中隱藏乙個壓縮包,這種方法的原理是 以jpg格式的為例,乙個完整的 jpg 檔案由 ff d8 開頭,ff d9結尾,瀏覽器會忽略 ff d9 以後的內容,因此可以在 jpg 檔案中加入其他檔案。如 sites wwwroot hexdump use...
CTF中基本的Xor解密操作
先解密base64,然後進行xor的檢測及解密 usr bin python3 coding utf 8 author valecalida 異或運算僅允許數字之間的運算,不允許其他型別之間的運算 from base64 import b64decode as b64d message input ...