Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Pwn勉強会
Search
m412u
November 27, 2018
Programming
8
11k
Pwn勉強会
・学内で開催したPwn入門勉強会で使用したスライドです。
m412u
November 27, 2018
Tweet
Share
More Decks by m412u
See All by m412u
slide.pdf
m412u
5
2.7k
学内Pwn勉強会
m412u
4
4.6k
Other Decks in Programming
See All in Programming
テストコード書いてみませんか?
onopon
2
340
ドメインイベント増えすぎ問題
h0r15h0
2
570
functionalなアプローチで動的要素を排除する
ryopeko
1
210
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.1k
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.4k
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
Оптимизируем производительность блока Казначейство
lamodatech
0
960
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
410
Androidアプリの One Experience リリース
nein37
0
1.2k
ASP.NET Core の OpenAPIサポート
h455h1
0
120
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Speed Design
sergeychernyshev
25
740
How GitHub (no longer) Works
holman
312
140k
Site-Speed That Sticks
csswizardry
3
270
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Fireside Chat
paigeccino
34
3.1k
Typedesign – Prime Four
hannesfritz
40
2.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Transcript
• 2 2 2 •
• P • 1 1 3 • • F
C 3 E C T
• ( ) ) 4 • 4 )
6 . .
. . 7
8 . .
9 .
0 . 1 0
• fi 2 n g l l h
b3a 1 • ( ./. h 2 • ) • a
• bCFE • iah • T h
• ce L • • • iaf • /0 S ) ( 8 0 2 81 1 . 2 1:
• 8 • 3 1 6 •
4 1
• PU U C U • ( () •
1 PU U • • C C 5
6 1
• s p C • e • c 36
36 ( 2.7 207 217 2 7 254 2 4 253 213 a 9 i8d b 7) P U 4
) ( • CDE • ) • ) S •
)( G E P • ) D • ) G Eeb eb • )( G Eeb eb • ) X DEFBI L D • ) X DEFBI L D • A E • ) 8 D • ) CDE • ) i ) 134 1 42
• 8 57 • 4 1 32 Ø 06
57 • 9 • Ø 06 57 • 9 •
• 2 0 • 2
• 21 • mov eax, 0x0 mov DWORD
PTR [ebp-0x10], eax
( ) • A • 2 A cmp eax, 0x1
cmp DWORD PTR [ebp-0x10], eax
) ( • 3 C 3 2 • jmp 0x08048574
je 0x08048574
( , ) • ))) 4 • ))) 2 4
2 2 ( call printf@plt ret
, ( ) , • • add
eax, edx sub eax, edx
(( ) • lea
ecx, [esp+0x4] lea eax, [ebp-0x18]
( () ( • s • n O P e
• \ • O N 7 d s 7 7 2 • l 79 20 •
( ) • c b 2 • 82 • •
a • a • b c • a
• B : • B P 9 • 12
12 2 • I SL 9 : O • B FH : : EH • B FH : U: EH
•
• U 4 • 1 C 7
4 • I • +
• ) 2 .8 (( 4 2 1
3 ) $ git clone https://github.com/m412u/pwn_study.git $ cd pwn_study/sample
• 9) 4 ( •
• •
$ objdump –d –M intel func
) ( : 5 : 5 : 1
• 2 • 1 • $ gdb –q ./func
d g b 5
• 3 52 2 2
• 2 3 52 gdb-peda$ break *0x08048535 or gdb-peda$ b *0x08048535
gdb-peda$ run or gdb-peda$ r
1 . 2 53 .
• 6 1 • •
6 1 • 5 gdb-peda$ nexti or gdb-peda$ ni gdb-peda$ stepi or gdb-peda$ si
+ mov edx, DWORD PTR [ebp-0x14] 5 3 704 704
+ mov eax, DWORD PTR [ebp-0x18] 0 3 4
+ sub esp, 0x8 4 3 0 5
+ push edx 423 0 56
+ 2 2 2 2 2 2 push eax 534
10 6 6
+ 2 2 2 333 2 2 211110 211110 call
0x080484bb <add> AB AB D 4 8 4 8 5C6
22220 888 22220 22220 push ebp EI EI 4653 B
D AC 1 4
22220 22220 22220 mov ebp, esp CD CD 346 8B
A E 1 5
55553 (0 )0 0 0 ) 55553 55553 ) sub
esp, 0x10 I I P A8 C 426 AB 133 AB D 8E
22220 22220 22220 mov edx, DWORD PTR [ebp+0x8] CD CD
8B A E 1 5 346
833331 8 8 8 8 8 833331 833331 mov eax,
DWORD PTR [ebp+0xc] DE DE A C B 206 I457
+ 533331 5 5 5 5 5 533331 533331 add
eax, edx AB AB E 11 6 CD 8204
8 833331 8 8 8 8 8 833331 833331 mov
DWORD PTR [ebp-0x4], eax DE DE A 9C B 206 I45
7 722220 7 7 7 7 7 722220 722220 mov
eax, DWORD PTR [ebp-0x4] CD CD 8B A E 1 5 34
+ 4 422220 4 4 4 4 4 422220 422220
leave = D mov esp, ebp E pop ebp A A D 5 BC 871 3
+ 7 744442 7 7 7 888 7 7 744442
744442 1 leave = mov esp, ebp pop ebp P P E IC D S A 30 5 S 30 B 22 B
44442 44442 44442 1 ret I X E 308 I
A A IB P I C 57S B D
+ 2 2 2 555 2 2 211110 211110 add
esp, 0x10 I C E 3 X7A 00P 8S 4 8 E DB
gdb-peda$ quit or gdb-peda$ q