add 6.2.5

This commit is contained in:
firmianay 2017-12-05 19:06:40 +08:00
parent a9e9b644b5
commit f635c36e5f
21 changed files with 70 additions and 27 deletions

View File

@ -84,6 +84,7 @@
- [6.2.2 re ECTF2016 tayy](doc/6.2.2_re_ectf2016_tayy.md)
- [6.2.3 re Codegate2017 angrybird](doc/6.2.3_re_codegate2017_angrybird.md)
- [6.2.4 re CSAWCTF2015 wyvern](doc/6.2.4_re_csawctf2015_wyvern.md)
- [6.2.5 re PicoCTF2014 Baleful](doc/6.2.5_re_picoctf2014_baleful.md)
- [七、附录](doc/7_appendix.md)
- [7.1 更多 Linux 工具](doc/7.1_Linuxtools.md)

View File

@ -83,6 +83,7 @@ GitHub 地址https://github.com/firmianay/CTF-All-In-One
* [6.2.2 re ECTF2016 tayy](doc/6.2.2_re_ectf2016_tayy.md)
* [6.2.3 re Codegate2017 angrybird](doc/6.2.3_re_codegate2017_angrybird.md)
* [6.2.4 re CSAWCTF2015 wyvern](doc/6.2.4_re_csawctf2015_wyvern.md)
* [6.2.5 re PicoCTF2014 Baleful](doc/6.2.5_re_picoctf2014_baleful.md)
* [七、附录](doc/7_appendix.md)
* [7.1 更多 Linux 工具](doc/7.1_Linuxtools.md)
* [7.2 更多 Windows 工具](doc/7.2_wintools.md)

View File

@ -419,11 +419,6 @@ Count 152786
- [pintool2](https://github.com/sebastiendamaye/pintool2)
- [Pin 3.5 User Guide](https://software.intel.com/sites/landingpage/pintool/docs/97503/Pin/html/)
#### 练习
- [**RE** - picoCTF 2014 - Baleful](../src/Reverse/5.2_baleful)
- [**RE** - Hack You 2014 - reverse - 400](../src/Reverse/5.2_reverse_400)
- [**RE** - th3jackers CTF 2015 - rev100 - 100](../src/Reverse/5.2_th3jackers_100)
## 扩展Triton
Triton 是一个二进制执行框架,其具有两个重要的优点,一是可以使用 Python 调用 Pin二是支持符号执行。[官网](https://triton.quarkslab.com/)

View File

@ -6,6 +6,8 @@
- [参考资料](#参考资料)
[下载文件](../src/writeup/6.1.1_pwn_hctf2016_brop)
## 题目复现
出题人在 github 上开源了代码,[出题人失踪了](https://github.com/zh-explorer/hctf2016-brop)。如下:
```C
@ -368,7 +370,7 @@ firmy
## Exploit
完整的 exp 如下,其他文件放在了[github](../src/writeup/6.1.1_pwn_hctf2016_brop)相应文件夹中
完整的 exp 如下:
```python
from pwn import *

View File

@ -6,6 +6,8 @@
- [参考资料](#参考资料)
[下载文件](../src/writeup/6.1.2_pwn_njctf2017_pingme)
## 题目复现
在 6.1.1 中我们看到了 blind ROP这一节中则将看到 blind fmt。它们的共同点是都没有二进制文件只提供 ip 和端口。
@ -200,7 +202,7 @@ firmy
## Exploit
完整的 exp 如下,其他文件放在了[github](../src/writeup/6.1.2_pwn_njctf2017_pingme)相应文件夹中
完整的 exp 如下:
```python
from pwn import *

View File

@ -6,6 +6,8 @@
- [参考资料](#参考资料)
[下载文件](../src/writeup/6.1.3_pwn_xdctf2015_pwn200)
## 题目复现
出题人在博客里贴出了源码,如下:
```C
@ -941,7 +943,7 @@ firmy
## Exploit
完整的 exp 如下,其他文件放在了[github](../src/writeup/6.1.3_pwn_xdctf2015_pwn200)相应文件夹中
完整的 exp 如下:
```python
from pwn import *

View File

@ -9,6 +9,8 @@
- [参考资料](#参考资料)
[下载文件](../src/writeup/6.1.4_pwn_backdoorctf2017_fun_signals)
## SROP 原理
#### Linux 系统调用
在开始这一切之前,我想先讲一下 Linux 的系统调用。64 位和 32 位的系统调用表分别在
@ -252,8 +254,6 @@ fake_flag_here_as_original_is_at_server\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\
```
如果连接的是远程服务器,`fake_flag_here_as_original_is_at_server` 会被替换成真正的 flag。
其他文件放在了 [github](../src/writeup/6.1.4_pwn_backdoorctf2017_fun_signals) 相应文件夹中。
这一节我们详细介绍了 SROP 的原理,并展示了一个简单的例子,在后面的章节中,会展示其更复杂的运用,包扩结合 vDSO 的用法。

View File

@ -4,6 +4,8 @@
- [Exploit](#exploit)
[下载文件](../src/writeup/6.1.5_pwn_grehackctf2017_beerfighter)
## 题目解析
```
$ file game
@ -118,7 +120,7 @@ firmy
## Exploit
完整的 exp 如下,其他文件放在了[github](../src/writeup/6.1.5_pwn_grehackctf2017_beerfighter)相应文件夹中
完整的 exp 如下:
```python
from pwn import *

View File

@ -6,8 +6,9 @@
- [参考资料](#参考资料)
## ret2vdso 原理
[下载文件](../src/writeup/6.1.6_pwn_defconctf2015_fuckup)
## ret2vdso 原理
在你使用 `ldd` 命令时,通常会显示出 vDSO如下
```
$ ldd /usr/bin/ls
@ -29,7 +30,7 @@ No RELRO No canary found NX enabled No PIE No RPATH No RU
```
## Exploit
完整的 exp 如下,其他文件放在了[github](../src/writeup/6.1.6_pwn_defconctf2015_fuckup)相应文件夹中
完整的 exp 如下:
## 参考资料
- `man vdso`

View File

@ -1 +1,4 @@
# 6.1.7 pwn 0CTF2015 freenote
[下载文件](../src/writeup/6.1.7_pwn_0ctf2015_freenote)

View File

@ -4,6 +4,8 @@
- [参考资料](#参考资料)
[下载文件](../src/writeup/6.2.1_re_xhpctf2017_dont_panic)
## 题目解析
第一步当然是 file 啦:
```
@ -423,8 +425,6 @@ print("".join(flag))
在最后一篇参考资料里,介绍了怎样还原 Go 二进制文件的函数名,这将大大简化我们的分析。
另外所有文件放在了[github](../src/writeup/6.2.1_re_xhpctf2017_dont_panic)相应文件夹中。
## 参考资料
- [Pin Tutorial](http://www.ic.unicamp.br/~rodolfo/mo801/04-PinTutorial.pdf)

View File

@ -6,6 +6,8 @@
章节 4.5 中讲解了 Z3 约束求解器的基本使用方法,通过这一题,我们可以更进一步地熟悉它。
[下载文件](../src/writeup/6.2.2_re_ectf2016_tayy)
## 题目解析
```
Tayy is the future of AI. She is a next level chatbot developed by pro h4ckers at NIA Labs. But Tayy hides a flag. Can you convince her to give it you?
@ -235,7 +237,5 @@ void giff_flag(&flag, int key) {
```
我们知道 flag 的格式应该是 `ECTF{...}`,所以只要初始 flag 在多次转换后出现这几个字符,就很可能是最终的 flag 了。我们已经理清了算法,接下来的事情就交给 Z3 了。
完整的 exp 如下,其他文件在 [github](../src/writeup/6.2.2_re_ectf2016_tayy) 相应文件夹中。
## 参考资料

View File

@ -4,6 +4,8 @@
- [参考资料](#参考资料)
[下载文件](../src/writeup/6.2.3_re_codegate2017_angrybird)
## 题目解析
看题目就知道,这是一个会让我们抓狂的程序,事实也确实如此。
```
@ -262,7 +264,5 @@ you typed : Im_so_cute&pretty_:)
```
同样需要一定的运气才能通过,祝好运:)
所有文件在 [github](../src/writeup/6.2.3_re_codegate2017_angrybird) 相应文件夹中。
## 参考资料

View File

@ -4,6 +4,8 @@
- [参考资料](#参考资料)
[下载文件](../src/writeup/6.2.4_re_csawctf2015_wyvern)
## 题目解析
```
$ file wyvern

View File

@ -0,0 +1,39 @@
# 6.2.5 re PicoCTF2014 Baleful
- [题目解析](#题目解析)
- [参考资料](#参考资料)
[下载文件](../src/writeup/6.2.5_re_picoctf2014_baleful)
## 题目解析
```
$ file baleful
baleful: ELF 32-bit LSB executable, Intel 80386, version 1 (GNU/Linux), statically linked, stripped
$ strings baleful | grep -i upx
@UPX!
$Info: This file is packed with the UPX executable packer http://upx.sf.net $
$Id: UPX 3.91 Copyright (C) 1996-2013 the UPX Team. All Rights Reserved. $
UPX!u
UPX!
UPX!
$ upx -d baleful -o baleful_de
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2017
UPX 3.94 Markus Oberhumer, Laszlo Molnar & John Reiser May 12th 2017
File size Ratio Format Name
-------------------- ------ ----------- -----------
144956 <- 6752 4.66% linux/i386 baleful_de
Unpacked 1 file.
$ file baleful_de
baleful_de: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, BuildID[sha1]=35d1a373cbe6a675ecbbc904722a86f853f20ce3, stripped
```
```
$ ./baleful_de
Please enter your password: ABCD
Sorry, wrong password!
```
## 参考资料

View File

@ -13,3 +13,4 @@
- [6.2.2 re ECTF2016 tayy](6.2.2_re_ectf2016_tayy.md)
- [6.2.3 re Codegate2017 angrybird](6.2.3_re_codegate2017_angrybird.md)
- [6.2.4 re CSAWCTF2015 wyvern](6.2.4_re_csawctf2015_wyvern.md)
- [6.2.5 re PicoCTF2014 Baleful](6.2.5_re_picoctf2014_baleful.md)

View File

@ -5,14 +5,6 @@
#### **pwn** - UIUCTF 2017 - goodluck - 200
## 5.2 Pin 动态二进制插桩
#### **RE** - picoCTF 2014 - Baleful
#### **RE** - Hack You 2014 - reverse - 400
#### **RE** - th3jackers CTF 2015 - rev100 - 100
## 6.1 更多 Linux 工具
#### Strings - strings_crackme
```text

Binary file not shown.

Binary file not shown.

Binary file not shown.