mirror of
https://github.com/nganhkhoa/CTF-All-In-One.git
synced 2024-12-25 11:41:16 +07:00
update 4.2
This commit is contained in:
parent
6b082f13dc
commit
c2125a9e1a
@ -5,6 +5,7 @@
|
|||||||
- [查看进程虚拟地址空间](#查看进程虚拟地址空间)
|
- [查看进程虚拟地址空间](#查看进程虚拟地址空间)
|
||||||
- [ASCII 表](#ascii-表)
|
- [ASCII 表](#ascii-表)
|
||||||
- [nohup 和 &](#nohup-和)
|
- [nohup 和 &](#nohup-和)
|
||||||
|
- [cat -](#cat)
|
||||||
|
|
||||||
|
|
||||||
## 重定向输入字符
|
## 重定向输入字符
|
||||||
@ -247,3 +248,33 @@ $ bg 1
|
|||||||
```
|
```
|
||||||
$ fg 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