龙空技术网

“一句话”就能拿下你的整个Web站,什么感觉?

简单的芹菜 871

前言:

眼前看官们对“php代码在线执行”大概比较关怀,看官们都需要学习一些“php代码在线执行”的相关内容。那么小编在网上搜集了一些对于“php代码在线执行””的相关资讯,希望姐妹们能喜欢,朋友们快快来了解一下吧!

友情提示

初入安全,小白一个,本文重在学习与经验分享!

背景

在黑客攻击WEB站点的过程中,黑客已经通过某种方式将"一句话"木马(简称Webshell)写入到web站点目录,且此站点目录具备执行权限,通过"中国菜刀"工具就可以实现控制整个WEB站点的目录,再进一步通过某种方式(如:内核漏洞提权、软件漏洞提权等)实现权限的提升来获取系统的超级权限,且asp、php、jsp、aspx等web站点都存在此问题。

先来认识一下句话木马(以PHP站点为例):

理解:

@ 符号表示后面即使报错仍继续执行;

eval() 函数把字符串按照PHP代码来执行, 该字符串必须是合法的PHP代码,且必须以分号结尾。

$_POST[]超全局变量,用来获取使用POST方式提交的表单数据,可以简单理解为中括号里的字符串就是"中国菜刀"的连接密码。

注:如果一句话木马按照图片内容的形式写入到web站点目录中,有时用"中国菜刀"连接会报错(如:出现乱码或者没有任何显示等),这种情况是由于字符编码的问题,只需要在一句话中指定字符集即可解决,如下:

1. 实验环境

本次实验是假设黑客已经通过某种方式获得了此web站点的后台账户信息,当然也可以通过"上传漏洞"等方式将一句话木马上传到站点目录中。

本文重点理解"一句话"木马,所以不再演示"上传漏洞"或者获得后台账户信息的实验过程。

靶机 Web URL:xycms1.2/

2. 一句话木马上传并执行成功的条件

(1)一句话木马未被web站点部署的防火墙或者防病毒软件拦截;

(2)一句话木马所在的目录具备执行权限,一句话可以正常运行;

3. 一句话木马的制作并利用

(1)一句话木马制作

将"一句话"插入到某个php页面中或者直接将"一句话"定义为php文件,如下所示:

(2)"中国菜刀"连接"一句话"

打开"中国菜刀"工具,在空白处点击"右键"添加"一句话"木马文件所在路径

将"一句话"文件的所在路径添加到相应的位置,并输入正确的密码,选择语言类型以及字符集并点击"添加"按钮

双击添加的"链接",无报错,则可成功拿到web站点的整个目录结构

4. 过狗一句话的制作

在实际生产环境中,往往会部署WAF应用防火墙等安全软件系统(俗称"狗"),如果按照第3章的方式上传"一句话",容易被管理员发现且肯定会被"狗"拦截。那么,这时候就需要用到"过狗一句话"木马(如:图片马)了。

图片马只是其中一种方式,还可以通过多次添加十六进制、ASCII码等方式来过"狗"。

4.1 图片马的制作方式一

注:这种方式相对于直接写php页面的方式较为隐蔽,只要管理员不挨个排查图片属性就不易被发现。但是,这种方式只是相对的,也容易被"狗"拦截。

(1)将"一句话"写入到图片的属性里

(2)判断图片马是否可以正常运行

(3)"中国菜刀"连接"图片马"

4.2 图片马的制作方式二

注:将"一句话"写入到图片的内容里,这种方式最为隐蔽

(1)通过"C32Asm"工具将"一句话"写入到图片的内容里

(2)判断"图片马"是否可以运行

(3)"中国菜刀"连接"图片马"

3. "一句话"木马制作MySQL番外篇

由于某种原因,意外获得了站点后台数据库的权限很小的一个MySQL数据库的账户信息,如:此MySQL账户只能查询普通表,但是无法查询存放后台账户信息的表。此时,可以使用mysql客户端的tee命令,将"一句话"写入到某个php文件中,及时报错也无所谓。

(1) tee命令,将mysql客户端的操作命令输出到某个文件中

# tee命令是MySQL客户端自带的命令,可以使用此命令将命令行输入的所有内容输出到指定的文件中。

(2)查看tee命令是否将"一句话"写入到指定的文件中

通过下图可以看到,"一句话"已经正常写入到了指定的文件中,此文件中有其他报错的显示也无所谓,"中国菜刀"可以正常连接。

(3)"中国菜刀"连接"一句话"

标签: #php代码在线执行