我正在使用libpng-a c库来检查有效的.png文件。如果文件有效,则通过测试。我想在其中注入shell代码。如何制作.png文件,使其仍然是有效的图像文件,并且还包含一些shell代码。请告诉我怎么可能。感谢。
答案 0 :(得分:0)
好吧,AFAIK没有办法将代码注入png文件并执行它。但您可以将png文件注入shell脚本,然后查看它。但是你必须说服你破解的那个让png文件可执行并通过终端打开所谓的png文件。
程序是:
executeme.png
-
#!/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__
cat injectme.png >> executeme.png
附加原始png文件。executeme.png
可执行。executeme.png
,将使用默认图像查看器显示原始png文件,并且将运行您注入的代码。注意:我不相信有人这么愚蠢地执行该文件。
注意2:在Ubuntu上,executeme.png
无法从文件管理器执行,因为由于png扩展而尝试使用文件管理器打开它。您可以将executeme.png
重命名为execute.\rpng
(在点后面的png之前附加一个回车符),所以首先它看起来像一个png文件,因为它的扩展名不是png,如果它是可执行的,它将被双击执行。要进行重命名,您可能需要使用终端。
有一个很好的黑客时间! :d