pwn (/ˈpoʊn/, /ˈpuːn/, /pəˈʔoʊn/, /ˈpɔːn/, /piˈoʊn/, /pwəˈʔn̩/, /ˈoʊn/),是乙個駭客語法的俚語詞,自"own"這個字引申出來的,這個詞的含意在於,玩家在整個遊戲對戰中處在勝利的優勢,或是說明競爭對手處在完全慘敗的情形下,這個詞習慣上在網路遊戲文化主要用於嘲笑競爭對手在整個遊戲對戰中已經完全被擊敗(例如:「you just got pwned!」)。過去式的拼寫可以拼成pwnd,pwn3d,pwnt(讀成 t 這個音)或是powned(讀成 d 這個音)。
在駭客行話裡,尤其在另外一種電腦技術方面,包括電腦(伺服器或個人電腦)、**、閘道裝置、或是應用程式,"pwn"在這一方面的意思是攻破(「to compromise」,危及、損害)或是控制(「to control」)。在這一方面的意義上,它與駭客入侵與破解是相同意思的。例如某乙個外部團體已經取得未經公家許可的系統管理員控制許可權,並利用這個許可權駭入並入侵(「owned」 或是 「pwned」)這個系統。
pwntools安裝使用方法
tips:
pwntools有py2 and py3 兩個版本,但目前大多數exp基於py2。
官方聲稱相容性最好的版本是 ubuntu 14.04 and 16.04 x64
連線目標程式
process
remote
互動程式
send
sendline
recv
recvuntil
recvline
recvall
recvrepeat
interactive
彙編與反彙編
進製轉換
shellcraft 模組
cyclic 模組
elf 模組
shellcode就是執行後可以得到shell的**,形式為二進位制機器碼。
peda 是 gdb 功能最為強大的外掛程式。
32位執行庫
編譯32位程式所需的庫
pwndbg的安裝
canary
fortify
nxpie
relro
埠對映
linux下常用的靜態反彙編工具,可以檢視乙個目標檔案的很多內部資訊。
啟動程式並按照自定義的要求執行程式
可讓被除錯的程式在指定的斷點(斷點可以是條件表示式)處停住
當程式停止時,可以檢查此時程式中所發生的事情
動態改變程式的執行環境
gdb外掛程式
堆和棧都是動態儲存變數的記憶體片段。
棧溢位程式 pwn1
nop sled
棧溢位程式 pwn3
乙個整數用來計算一些敏感數值,如緩衝區大小或數值索引,就會產生潛在危險。通常情況下,整數溢位不改寫額外的記憶體,不會直接導致任意**執行,但它會導致棧溢位和堆溢位,而後兩者都會導致任意**執行。出現整數溢位後,很難立即察覺,也比較難用乙個有效的方法判斷是否會出現或可能出現整數溢位。
linux 程式都會載入的基礎系統庫檔案,類似於 windows 中的kernel.dll。
提供了一些利用字串漏洞的工具,自動化的字串漏洞利用功能。
CTF中pwn的入門指南
ctf中的pwn指的是通過通過程式本身的漏洞,編寫利用指令碼破解程式拿到主機的許可權,這就需要對程式進行分析,了解作業系統的特性和相關漏洞,是是乙個難度比較大的分支。接下來介紹相關的學習思路 自己總結的,當作參考 pwn相對於web,更需要專業的技能和知識,最主要的是要學會如何分析程式,這就需要有足...
演算法競賽入門 八皇后問題
在棋盤上放置8 個皇后,使得它們互不攻擊,此時每個皇后的攻擊範圍為同行同列和對角線,要求找出所有解 分析 思路一 把問題轉化為 從64 個格仔中選乙個子集 使得 子集中恰好有8 個格仔,且任意兩個選出的格仔都不在同一行 同一列或同乙個對角線上 這是子集列舉問題,不 是乙個好的模型。思路二 把問題轉化...
CTF入門概要
ctf入門簡介 練習平台推薦 1.南郵ctf web題較為簡單,適合入門。其他題較難,短期內不建議寫。writeup多 2.bugku 優點是題量大。難度中等,writeup一般 3.實驗吧 沒寫過,不知道,據說題目難度中等 5.網路空間安全實驗室 題目較為簡單,適合入門學習。先就這麼多吧,以後再不...