CTF競賽入門(八)pwn

2021-10-25 12:09:36 字數 1546 閱讀 6937

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.網路空間安全實驗室 題目較為簡單,適合入門學習。先就這麼多吧,以後再不...