WEB漏洞-SQL注入之简要注入1
思维导图
SQL注入安全测试中危害:
1.危害到数据库中的数据
2.危害到网站的权限,需要满足对应的条件。
安装sqli-labs(环境)
1.下载对应的github目录,解压到phpstudy的www目录中https://github.com/Audi-1/sqli-labs
2.D:\phpstudy_pro\WWW\sqli-labs-master\sql-connections的db-creds.inc文件修改数据库的用户名和密码
3.创建数据库
4、导入数据库文件
低版本的采用暴力破解,高版本采用有根据的查询
这里,有数据库名称,表名、列名、数据,我们最后要得到的是数据。
每个数据库对应一个网站。
所以,当你一步一步的查询数据的时候,需要一步一步的查询数据库,表名,列名,在找到数据。
select * from users where id=1 and 1=1 limit 0,1 正常
select * from users where id=1 and 1=2 limit 0,1 错误
这是最初始的注入点检查方法,若是且,那么真真为真,真假为假,所以存在注入点
若是网站对输入的参数进行了检测,便会跳转到404页面,这时候也是不存在注入的。
SQL注入步骤
1.判断注入点在哪里
2.找到该表的字段数量,order by 错误与正确的临界值
http://219.153.49.228:42980/new_list.php?id=1 order by 4,这里是按照第几个字段排序,当按照第四个字段排序的时候,显示还是正常,在增加一个显示不正常,说明,共四个字段。
3.报错猜解准备
http://219.153.49.228:42980/new_list.php?id=-1 and 1=2 union select 1,2,3,4
这里id使其为负数或者1=2为假,那么前面是没有查询结果的,这时可以使用联合查询,看下页面出现的数字2和3,那么2和3便可以作为信息搜集字段。
4.信息搜集
均是以函数的形式出现在select语句中
- 数据库版本version():5.7.22-0ubuntu0.16.04.1 (5.0以下低版本,5.0以上高版本)
- 数据库名称database():mozhe_Discuz_StormGroup
- 用户user():root@localhost
- 操作系统@@version_compile_os:Linux
小知识:在mysql5.0以上版本,存在一个数据库名为information_schema,它是一个存储所有数据库名,表名,列名的数据库,即可以通过搜索这个数据到收集信息。