点击上方蓝字关注我们
本系列实战笔记为红日安全核心人员核心学习渗透测试期间记录实战笔记,该笔记主要记录自己学习Web安全和渗透测试一个时间路线,希望可以帮助目前在学习Web安全或者是学习渗透测试的同学不知如何下手,或者是对这个方向比较感兴趣的同学,目前该笔记包含以下几个方向内容: 1、黑客工具使用; 2、Web安全方向,包含SQL注入、XSS跨站、命令执行、SSRF等Web安全方向知识; 3、PHP语言讲解笔记 4、PHP代码审计笔记 5、WAF绕过笔记 6、逻辑漏洞学习笔记 希望阿痕自己学习笔记可以帮助更多想学习Web安全同学,另外该笔记为系列文章,转载请标注来源!
1. 前言
今天为大家分享第一篇实战笔记为Access手工注入,下面是我的实战过程和总结,实战环境使用的是墨者学院的在线靶场。接下来我和大家一起直接进入主题,通过网上公开靶场提升我们学习的知识点,并且一步一步提高我技能及实战化。
2. 判断注入点
接下来咱们输入 and 1=2 发现报错了,说明存在注入点,如下图。
3. 猜数据库表名
在Access数据库中,打开里面直接就是表,所以我们只能猜表名,通过这条语句 and exists (select * from 表名)常见的一些表名为admins users administrator,admin,admins,admin_user,admin_usr,admin_msg,admin_login,user,username,manager,msg_user,msg_login,useradmin等。通过猜测,我们查到 存在admin这个表,这里用到的原理是,如果存在正常显示,不存在就报错,如下图。
4. 猜测表里有几个字段
通过order by 语句,小于输出的数字正常显示,大于输出的数字报错。我们猜出为四个字段。如下图。
5. 猜测字段
通过这条语句 and exists (select 字段 from admin)常见的字段有 username password pass passwd user_name等
如果对方的数据库字段较多,咱们又猜不出来,并且有回显位置,可以尝试偏移注入。这里通过直接猜测就猜出来了,如下图。
根据图片的内容我们,我们猜测出的两个字段为,username ,passwd,根据字段名字我们就知道里面存放的为账号和密码。
6. 联合查询爆出账号和密码
通过这条语句 union select 1,2,3,4 from admin我们知道了,2,3,这两个位置回显到页面上,这就是我们需要的。如下图。
接下来,我们把之前查找出来的 字段 替换到2,3两个位置,语句为 union select 1,username,passwd,4 from admin 结果为下图,爆出了账号密码。
7. 手工注入总结
1、 先判断有没有注入点
2、 参数后面加 and exists(select*from admin) 猜表名 返回正常页面表示存在(admin)
3、 参数后面加 and exists(select username from admin)猜(admin)表中是否存在列名(username) 返回正常页面表示存在
4、 参数后面加 and exists(select passwd from admin)猜(admin)表中是否存在列名(passwd) 返回正常页面表示存在
5、 判断字段数 参数后面加 order by 4 (判断字段数为4)
6、 判断回显 参数后面加 union select 1,2,3,4 from admin
7、 爆出列名的信息 参数后面加 union select 1,username,passwd,4 from admin
8、获取到账号密码,手工注入结束。
红日安全出品|转载请注明来源
海量安全课程
阅读原文 即可观看
本文始发于微信公众号(红日安全):Web安全实战系列笔记 | Access手工注入实战和分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论