什么是一句话(图片)木马 | 原理原创 |
许多小伙伴可能听说过“一句话木马”这个名词,也见过一句话木马怎么写,但是就不知道为什么起作用。
别急,听我细细道来,怎么写,原理是什么都会讲清楚。 一、php 一句话是怎么运行的 🧑🎤🧦📞😒🤟 首先,建立一个 test.php 文件,里面写上
👨⚕️💍🛋🙂💅 然后,访问 最后,出现 phpinfo() 的页面 👩✈️💄💾😅✋ 二、原理是什么 以这句代码为例
php 中的 eval 函数将接收一个字符串参数,并将这个字符串作为命令语句执行,上面的是 get 请求,post 请求也大同小异。还有其他请求也能做到,这里不过多介绍。 说人话就是 test.php?shell= 后面能执行 php 代码! 👁🚈🍌📳🐖 上面的代码你改为
然后访问
就会输出当前脚本所在的目录,和在 php 里面写一样。 🧓🪖🪗😚💪 很多网站是不能直接上传 php 文件的,但是能传图片,比如上传头像等。 先说说怎么制作吧。 1. windows cpoy 功能🧑🌾🧣🔑😶💪 准备两个文件:正常图片 1.jpg ,写有 php 代码的文件。 test.php 里面写上
然后使用 windows 的 cmd 命令
🦴🚈🦀🅾🐡 这个命令实际上做的是:把 test.php 文件中的内容添加到 1.jpg 的末尾,其中 1.jpg 是以 2 进制打开的, test.php 是以文本(ascii)方式打开的。然后生成一个 2.jpg 文件,带有 1.jpg 和 test.php 的内容: 2.jpg 文件能正常打开,一般观察下和普通图片没什么两样,但是你用 16 进制软件打开,就会发现最底部有这样一句话: 这里不得不说一点,计算机内部使用一个文件,并不是通过后缀名(.jpg/.php)来决定怎么运行的,而是根据里面写的内容来决定,使用后缀名只是为了方便人区分。 2. 使用 16 进制软件编辑👩👖🛋😫✌ 原理和上面一样,都是在图片文件末尾加上 php 代码,但是不能加在中间或开头,会破坏原有图片内容,导致图片无法显示。 ------沙雕分割线---- 这里有个前提,如果要利用这个功能,还需要一个 文件包含 漏洞。这个漏洞可以是 php 代码漏洞,也可以是 nginx/php-fpm 漏洞/配置文件漏洞。 👨🚒💎🖌😀👁 我们先假设 php 代码漏洞存在,并向网站上传了一张带有 php 代码的图片 2.jpg 其中 test.php 关键漏洞代码为 👴🎒🎷😷✌
然后访问
2.jpg 里面的代码执行了 上面说的是 php 代码的漏洞,现在说说 nginx 和 php配置文件漏洞: 👄⛄🍏☣🦋访问
2.jpg 里面的代码又被执行了 简单来说就是 php-fpm 找不到 00000000000.php ,然后就向前查找,把 2.jpg 当作 php文件 来访问。具体可以看 👀🛩🍚ℹ🦮四、总结 这篇只讲关于一句话(图片)木马,并不打算讲具体什么情况下能利用,不是不想讲,而是要讲清楚的话,内容太多了 评分
帖子热度 1.2万 ℃
|
|
我不在江湖,但江湖中有我的传说;
👊🧳🍌🐒我身在江湖,江湖里却没有我得传说。 |