04SQL注入基础和联合查询

一.SQL注入漏洞

1.SQL注入原理
(1)程序员在处理程序和数据库交互时,使用字符串拼接的方式构造SQL语句.
(2)未对用户可控参数进行足够的过滤,便将参数内容拼接到SQL语句中
2.SQL注入漏洞的危害
(1)攻击者可以利用SQL注入漏洞,可以获取数据库中的多种信息(例如:管理员后台账密),从而脱取数据库中的内容(脱库).
(2)在特别的情况下还可以修改数据库内容、插入内容到数据库或者删除数据库中的内容。
(3)如果数据库权限分配存在问题,或者数据库本身存在缺陷,攻击者可以利用SQL注入漏洞读写文件,读取敏感文件或上传恶意文件,可以Getshell.
(4)利用数据库提升权限.

3.SQL注入漏洞的判断
(1)id参数+1、-1判断是否有回显?
?id=33
?id=34
?id=35
当变化id参数的值的时候,数据库中的内容回显在网页中。
经过变化id参数发现,只有在id在22、23、32-35范围内才能正常显示网页,所以认定数据库只存储了6页新闻内容。
(2)添加单引号[’],判断数据库是否有报错
?id=33
?id=33’
04SQL注入基础和联合查询出现报错,参数两边没有引号,输入数据是数字型的
(3)显示报错信息,考虑报错注入
(4)判断是否有布尔类型状态?
04SQL注入基础和联合查询04SQL注入基础和联合查询04SQL注入基础和联合查询

有布尔类型状态,有延时
4.利用联合查询获取cms 网站后台管理员帐密

【?id=33 order by 1】 正常
。。。。。。。。。。。。正常
【?id=33 order by 15】 正常
【?id=33 order by 16】 错误
04SQL注入基础和联合查询
04SQL注入基础和联合查询说明:程序中的SQL语句有15列
04SQL注入基础和联合查询判断出3,11是显示位

04SQL注入基础和联合查询04SQL注入基础和联合查询04SQL注入基础和联合查询可以获取到数据库的名称、所在文件夹以及版本信息
查询表名
04SQL注入基础和联合查询提示格式混乱,然后转码成16进制,然后解码

04SQL注入基础和联合查询
04SQL注入基础和联合查询获取字段名
04SQL注入基础和联合查询获取字段内容
04SQL注入基础和联合查询
在md5解码网站解码
04SQL注入基础和联合查询得到密码。