SQL注入

Posted 信安日记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL注入相关的知识,希望对你有一定的参考价值。

一.SQL注入

  构建特殊的输入作为参数传入web应用程序,而这些输入大多都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是因为程序没有细致的过滤用户输入的数据,导致非法数据入侵系统



二.SQL注入危害

1. 拖库导致用户数据泄露

2. 危害WEB等应用的安全

3. 时区操作系统的控制权

4. 用户信息被非法买卖

5. 危害企业及国家安全


三.SQL注入流程

1. 判断是否由SQL注入漏洞

2. 判断操作系统 数据库和web应用类型

3. 获取数据库信息,包括管理员信息及拖库

4. 加密信息破解,sqlmap可自动破解

5. 提升权限,获取sql_shell  os_shell  登录应用后台


联合查询

1. union + 构造的SQL语句

2. Union 查询前后字段必须相同

3. Information_schema.tables    ***

4. Table_schema  库名

5. Table_name 表名

6. Column_name 字段名


猜测字段

 union select 1;

 union select 1,2;

 union select 1,2,3;

 union select 1,2,3.4;

......


查询数据库库名,表名

Select * from information_schema.tables;  所有库表信息

Select distinct table_schema from information_schema.tables; 查看库名(去重)

Select table_schema,table_name from information_schema.tables; 查库名,表名(看着不舒服,下面分更好)

Select table_schema,group_concat(table_name) from information_schema.tables group by table_schema; 按照库名将表分类 (查看库下面有哪些表)

 

查询数据库库名,表名,字段名

Select * from information_schema.columns;

Select  column_name from information_schema.columns;  查看所有表所有字段(意义不大)

Select column_name from information_schema.columns where table_schema=数据库 and table_name=表名; 查看数据库下面表名的字段名

 


以上是关于SQL注入的主要内容,如果未能解决你的问题,请参考以下文章

sql 注入是啥?

什么叫sql注入,如何防止sql注入

关于SQL注入

Java安全-注入漏洞(SQL注入命令注入表达式注入模板注入)

sql注入一

什么是sql注入如何防止sql注入