.png文件中的代码注入

时间:2015-09-26 22:09:17

标签: c

我正在使用libpng-a c库来检查有效的.png文件。如果文件有效,则通过测试。我想在其中注入shell代码。如何制作.png文件,使其仍然是有效的图像文件,并且还包含一些shell代码。请告诉我怎么可能。感谢。

1 个答案:

答案 0 :(得分:0)

好吧,AFAIK没有办法将代码注入png文件并执行它。但您可以将png文件注入shell脚本,然后查看它。但是你必须说服你破解的那个让png文件可执行并通过终端打开所谓的png文件。

程序是:

  1. 创建一个文本文件,将其命名为executeme.png
  2. 将以下代码粘贴到其中,请注意文件末尾不应有任何新行。
  3. -

    #!/bin/bash
    
    PNG_FILE=$(mktemp /tmp/hack.XXXXXXX.png)
    
    ARCHIVE=$(awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0)
    tail -n+$ARCHIVE $0 > "$PNG_FILE"
    
    # whatever you want to do is here!
    
    xdg-open $PNG_FILE
    
    exit 0
    
    __ARCHIVE_BELOW__
    
    1. 使用cat injectme.png >> executeme.png附加原始png文件。
    2. executeme.png可执行。
    3. 如果您从终端运行executeme.png,将使用默认图像查看器显示原始png文件,并且将运行您注入的代码。
    4. 注意:我不相信有人这么愚蠢地执行该文件。

      注意2:在Ubuntu上,executeme.png无法从文件管理器执行,因为由于png扩展而尝试使用文件管理器打开它。您可以将executeme.png重命名为execute.\rpng(在点后面的png之前附加一个回车符),所以首先它看起来像一个png文件,因为它的扩展名不是png,如果它是可执行的,它将被双击执行。要进行重命名,您可能需要使用终端。

      有一个很好的黑客时间! :d

      进一步阅读:Linux journal, making installers