mirror of
https://github.com/nganhkhoa/CTF-All-In-One.git
synced 2024-12-24 03:01:15 +07:00
update 4.2
This commit is contained in:
parent
6b082f13dc
commit
c2125a9e1a
@ -5,6 +5,7 @@
|
||||
- [查看进程虚拟地址空间](#查看进程虚拟地址空间)
|
||||
- [ASCII 表](#ascii-表)
|
||||
- [nohup 和 &](#nohup-和)
|
||||
- [cat -](#cat)
|
||||
|
||||
|
||||
## 重定向输入字符
|
||||
@ -247,3 +248,33 @@ $ bg 1
|
||||
```
|
||||
$ fg 1
|
||||
```
|
||||
|
||||
#### cat -
|
||||
通常使用 cat 时后面都会跟一个文件名,但如果没有,或者只有一个 `-`,则表示从标准输入读取数据,它会保持标准输入开启,如:
|
||||
```
|
||||
$ cat -
|
||||
hello world
|
||||
hello world
|
||||
^C
|
||||
```
|
||||
更进一步,如果你采用 `cat file -` 的用法,它会先输出 file 的内容,然后是标准输入,它将标准输入的数据复制到标准输出,并保持标准输入开启:
|
||||
```
|
||||
$ echo hello > text
|
||||
$ cat text -
|
||||
hello
|
||||
world
|
||||
world
|
||||
^C
|
||||
```
|
||||
有时我们在向程序发送 paylaod 的时候,它执行完就直接退出了,并没有开启 shell,我们就可以利用上面的技巧:
|
||||
```
|
||||
$ cat payload | ./a.out
|
||||
> Segmentation fault (core dumped)
|
||||
|
||||
$ cat payload - | ./a.out
|
||||
whoami
|
||||
firmy
|
||||
^C
|
||||
Segmentation fault (core dumped)
|
||||
```
|
||||
这样就得到了 shell。
|
Loading…
Reference in New Issue
Block a user