SQL注入漏洞
SQL注入原理
- 程序员在处理程序和数据库交互时,使用字符串拼接的方式构造SQL语句
- 未对用户可控参数进行足够的过滤,便将参数内容拼接到SQL语句
SQL注入漏洞的危害
- 攻击者可以利用SQL注入漏洞,可以获取数据库中的多种信息(管理员后台账密等),从而脱去数据库的内容(脱库)。
- 在特别的情况下还可以修改数据库的内容、插入内容到数据库或者删除数据库的内容。
- 如果数据库权限分配存在问题,或者数据库本身存在缺陷,攻击者可以利用SQL注入漏洞读写文件,读取敏感文件或者上传恶意文件,可以Getshell。
- 利用数据库提升权限。
SQL注入的流程
数据库的名字 --> 表的名字 --> 字段(即列)的名字 --> 字段内容
SQL注入漏洞的判断
1.id的参数+1、-1判断是否有回显
?id=33
?id=34
?id=32
当变化id的参数时,数据库中的内容回显在网页上
2.添加单引号【'】,判断数据库是否有报错
id=35
id=35’
3。根据报错信息判断输入的数据是字符型还是数字型
字符型意味着参数左右两边有引号
数字型意味着参数左右两边没有引号
4.是否会回显报错信息
考虑报错注入
5.判断是否有布尔类型状态
?id=35 and 1=1
?id=35 and 1=2
6.判断是否有延时
?id=35 and sleep(5)
Information_schema
![db2177b9c0fcd6646a78c7ec26e239c8.png](https://img-blog.csdnimg.cn/img_convert/db2177b9c0fcd6646a78c7ec26e239c8.png)
利用联合查询找出cms的账密
1.id参数+1-1有回显
![b673b47d7f141f3e398e2f2def18a5f6.png](https://img-blog.csdnimg.cn/img_convert/b673b47d7f141f3e398e2f2def18a5f6.png)
![f9f901017a8dae84fd6037ebe37ec065.png](https://img-blog.csdnimg.cn/img_convert/f9f901017a8dae84fd6037ebe37ec065.png)
![dedf3938f233db1a0654253f60f01bc2.png](https://img-blog.csdnimg.cn/img_convert/dedf3938f233db1a0654253f60f01bc2.png)
2.添加单引号看是否报错,并判断输入的数据是字符型还是数字型
![6b5effe5b534e93052ebc76ddbd94708.png](https://img-blog.csdnimg.cn/img_convert/6b5effe5b534e93052ebc76ddbd94708.png)
3.判断列数
![acb780d0f342362a5bcbd3c8fce879d1.png](https://img-blog.csdnimg.cn/img_convert/acb780d0f342362a5bcbd3c8fce879d1.png)
![14e179af92ef7b67311e19cb4fabd936.png](https://img-blog.csdnimg.cn/img_convert/14e179af92ef7b67311e19cb4fabd936.png)
4.判断显示位
![303b72e96d20bd84ad26979d670933af.png](https://img-blog.csdnimg.cn/img_convert/303b72e96d20bd84ad26979d670933af.png)
5.数据库的名字
![1e5fffede0d486c4f394f9110d905383.png](https://img-blog.csdnimg.cn/img_convert/1e5fffede0d486c4f394f9110d905383.png)
6.查询所有表名
![486deef4e79fae526de92df73695593e.png](https://img-blog.csdnimg.cn/img_convert/486deef4e79fae526de92df73695593e.png)
7.确定表名获取字段名
![36af4bff881898948095d280c8589562.png](https://img-blog.csdnimg.cn/img_convert/36af4bff881898948095d280c8589562.png)
8.获取字段内容
![cf6d3fe85b8546f65926d1f4f6f8386f.png](https://img-blog.csdnimg.cn/img_convert/cf6d3fe85b8546f65926d1f4f6f8386f.png)
![336ad71e4a311af528071c03c8fac589.png](https://img-blog.csdnimg.cn/img_convert/336ad71e4a311af528071c03c8fac589.png)