SQL Injection概述
- 在OWASP发布的top10漏洞中,注入漏洞一直是危害排名第一,其中主要是SQL注入。
- 数据库注入漏洞,主要是开发人员在构建代码时,没有对输入边界进行安全考虑,导致攻击者可以通过合法的输入点提交一些精心构造的语句,从而欺骗后台数据库对其进行执行,导致数据库信息泄露的一种漏洞。
SQL注入攻击流程:
-
第一步:注入点探测:
(1)自动方式:使用web漏洞扫描工具,自动进行注入点发现;
(2)手动方式:手工构造SQL Injection测试语句进行注入点发现; -
第二步:信息获取:通过注入点获取期望的数据
(1)环境信息:数据库类型,版本,操作系统版本,用户信息等;
(2)数据库信息:数据库名称,表,字段,字段内容(加密内容破解); -
第三步:获取权限:
(1)获取操作系统权限:通过数据库执行shell,上传木马
SQL Injection漏洞-常见注入点类型:
- 数值型:user_id = $id
- 字符型:user_id = ‘$str’
- 搜索型:“text LIKE ‘%{$_GET[‘search’]}%’”