潍坊网站建设尚荣seo网站内部优化
小迪安全day12WEB漏洞-SQL注入之简要SQL注入
注入产生原理详细分析
- 可控变量
- 带入数据库查询
- 变量未存在过滤或过滤不严谨
连接符区分
and是sql语句连接符,&是uel参数连接符
and 1=1是注入语句, &是添加一个新变量
数据库内容
数据库A = 网站A
表名
列名
数据
必要知识点
-
在MySQL5.0以上版本中,MySQL存在一个自带数据库名为information—schema(模式),它是一个存储所有数据库名,表名,列名的数据库,也相当于可以通过查询它获取值指定数据库下面的表名和列名信息。
-
数据库中符号" . "代表下一级,如xiao.user表示xiao数据库下的user表名
-
information_schema.tables:记录所有表名信息的表
information_schema.columns:记录所有列名信息的表
table_name:表名
column_name:列名
table_schema:数据库名
如何判断注入
-
老方法
and 1=1 页面正常
and 1=2 页面错误
-
联合注入
-
猜解列名数量(字段数)order by 4
错误与正常的临界点
-
报错猜解准备
union select 1,2,3,4
-
猜解多个数据可以采用limit x,1 变动猜解
-
-
信息收集
用信息收集对应的函数可以代替联合注入中猜解的数字
数据库版本:version()
数据库名字:database()
数据库用户:user()
操作系统:@@version-compile_os