Sql注入攻击是通过将恶意的Sql查询或添加语句插入到应用的输入参数中,再在后台sql服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之一。
当访问动态网页时,web服务器会向数据库发起sql查询请求,如果权限验证通过就会执行sql语句。
这种网站内部直接发送的sql请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造sql语句,如果用户输入的数据被构造成恶意sql代码,web应用又未对动态构造的sql语句使用的参数进行审查,则会带来意想不到的危险。
sql注入带来的威胁主要如下几点:
猜解后台数据库,这是利用最多的方式,盗取网站的敏感信息。
绕过认证,例如绕过验证登录网站后台。
注入可以借助数据库的存储过程进行提权等操作
1.判断是否存在注入(数字型还是字符型)
方法一:单引号法
'
方法二:逻辑法
and 1=1
and 1=2
1' and '1' = '1
1' and '1' ='2
2.猜解表名
常见的敏感表名
admin
user
admin_userinfo
system
vipuser
a_admin
xxx_admin
......
3.猜解字段数
order by
4.猜解字段名
username
password
admin_username
admin_password
......
5.获取数据
unsion select 1,2,3...from xx